2017-10-10 146 views
0

我一直在瀏覽Google登錄指南,它說要使用signOut功能(https://developers.google.com/identity/sign-in/web/sign-in)來實現自我描述的目的。我知道它不會讓你退出Google(這會令人沮喪),但我不明白它實際上的作用。它是否將某些「登錄」變量從true切換到false?如果是這樣,我該如何檢查它?該參考資料並未提供詳細信息https://developers.google.com/identity/sign-in/web/reference#googleauthsignoutGoogle身份驗證API signOut()說明

+0

它看起來像它斷開當前的應用程序來自Google帳戶。我不知道*它如何做到這一點,但我的猜測是,它會使存儲在cookie中的令牌無效或刪除。 (或本地存儲) – theGleep

+0

Cookie未更改且本地存儲未被使用。如果我刷新頁面,一切看起來像仍然登錄。 –

回答

0

Google登錄網站的工作方式是,用戶返回您的網站時將自動登錄,不需要任何提示或操作。

當使用signOut()這不會發生,用戶將不得不再次登錄。雖然註銷並不撤銷任何權限,但僅從當前會話中刪除任何currentUser信息。 當用戶決定再次登錄時,他們將立即登錄,而不會有新的權限提示。

要完全斷開用戶並撤消所有權限/令牌,還有額外的disconnect() method

需要注意的一件事是,signOut功能只有在您將網站部署到某個託管服務時纔有效。所以如果你在本地主機上測試,你將看不到預期的行爲。不知道爲什麼會出現這種情況,但過去我遇到過這個問題,但signOut只要部署了該網站就按預期工作。

爲了讓您的網站與當前的登錄狀態,你應該聽isSignedIn和/或currentUser變化更新,這也將觸發,當用戶退出:https://developers.google.com/identity/sign-in/web/listeners

+0

那麼整個「不與本地主機一起工作」使得這很難測試。如您所說,添加了事件偵聽器代碼,並且當前用戶偵聽器可以工作,但isSignedIn不會。對Google在這方面缺乏信息/一致性感到失望。 –

+0

可以確認你是正確的。改變我的主機文件給本地主機一個網址,它的工作原理。令人沮喪的是,參考網站上沒有顯示出這些信息。謝謝。 –