2017-10-10 198 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

可以确认你是正确的。改变我的主机文件给本地主机一个网址,它的工作原理。令人沮丧的是,参考网站上没有显示出这些信息。谢谢。 –