2014-05-20 41 views
3

我試圖用Google OAuth 2.0到我的本地服務器上進行身份驗證的網頁。完全的OAuth 2.0認證網頁登出谷歌賬戶和重定向

到目前爲止我有:

  • 的index.php - 本頁面檢查用戶登錄到與谷歌帳戶。如果用戶未登錄,則轉到login.php。
  • 的login.php - 該網頁重定向到谷歌的安全登錄頁面,如果沒有帳戶登錄。如果只有一個帳戶登錄,它挑選一個並重定向回index.php文件。

index.php上的註銷按鈕允許應用程序註銷。它僅從我的網頁頁面退出會話。 Google帳戶仍然登錄其他應用程序。

現在該賬號假設,其中一個以前的用戶都留下了他的帳戶登錄的情況下,下一個用戶登錄,實現了網站認證以前的用戶。所以,我想要有一個logout按鈕,可以讓我完全註銷Google帳戶,然後重定向回我的Login.php頁面。

到目前爲止,我得到的結果是清除$_SESSION['access_token']$_SESSION['USER'],但它只能從應用程序註銷,但不能從Google帳戶註銷。

一種方法我試過是具有在一個新的選項卡https://accounts.google.com/logout一個鏈接點,並在當前標籤我的目標網頁。但是這個URL從我的賬戶註銷,但仍然記得我的ID。

有沒有辦法徹底退出谷歌帳戶在一個單一的點擊?

有沒有更優雅的方法?

+0

這不是oauth2背後的想法。您的客戶(應用程序)不應該執行任何與帳戶相關的操作 - 尤其是不會將用戶登出谷歌。正如您已經意識到的那樣,在oauth2場景中「註銷」是通過丟棄您的應用授予的訪問令牌完成的 - 而且其他供應商的其他應用也可能會授予來自Google的訪問令牌。那麼從谷歌註銷會是什麼意思? –

回答

0

我面臨同樣的問題(只使用JS而不是PHP)。

我的一鍵式解決方案如下: ,我從我的JS代碼HTTP GET調用執行註銷URL。它將用戶註銷,但在控制檯上將錯誤記錄在回覆處理中。看到這篇文章:How to logout from Google Account using AngularJS

相關問題