簡體   English   中英

Google+登錄和ASP.NET表單身份驗證,如何注銷?

[英]Google+ sign in and ASP.NET forms authentication, how do I sign out?

我有一個使用Google+登錄來驗證用戶身份的ASP.NET MVC應用程序。 流程如下:

  1. 用戶訪問以[Authorize]屬性裝飾的控制器操作,配置表單身份驗證,以便將用戶轉發到登錄頁面。
  2. 用戶單擊“使用Google+登錄”按鈕,然后按照指南啟動服務器端流程
  3. 服務器接收用於驗證用戶身份的Google令牌,將其登錄並在響應中返回標准的asp.net auth cookie。 然后,用戶可以使用cookie訪問該站點。

現在,如果我通過常規的asp.net表單注銷過程來清除用戶的cookie /會話,則存在問題。 如果他們在注銷后嘗試訪問該應用程序,但仍在另一個選項卡中登錄了Google產品,則會將他們重定向到我的登錄頁面。 Google+登錄按鈕會自動將其重新登錄,從而啟動整個登錄過程並獲得一個全新的asp.net Cookie! 真正退出的唯一方法是確保您仍未登錄任何Google產品,然后嘗試退出。 並非完全用戶友好。 我猜所有Google產品都會發生同樣的事情,如果我登錄Gmail並打開“文檔”,我將自動登錄。 不同之處在於,如果您退出其中一項,則將退出所有Google產品。 我認為。

當前尚不支持將用戶從您的站點注銷的方法。 您可以執行的操作是強制用戶在獲得授權之前先單擊Google+登錄按鈕,除非您在其客戶端上設置了Cookie來表明他們已登錄(或已注冊,如果您想區分登錄操作,並正在登錄)。 您可以看一下這個問題:

我如何注銷用戶的應用程序?

或以下問題: 使用Google+登錄時阻止自動登錄

在堆棧溢出方面對此主題進行討論,並回答類似問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM