Oauth 2.0 使用谷歌时如何注销&x2B;登录

Oauth 2.0 使用谷歌时如何注销&x2B;登录,oauth-2.0,google-plus,Oauth 2.0,Google Plus,Google文档在那里gapi.auth.signOut()方法在这里: 问题是它说只有在signicallback启动后才能调用该方法。据我所知,启动signinCallback的唯一方法是在页面上放置一个登录按钮 这在我的登录页面上非常有效,但是一旦我对用户进行了身份验证,就没有必要在后续页面上设置G+登录按钮。我只想在角落里有一个小的“注销”链接,用户可以单击该链接注销 我试着让我的注销链接调用gapi.auth.signOut(),但它没有任何作用,除非我同时显示一个无用的登录按钮。如何

Google文档在那里
gapi.auth.signOut()
方法在这里:

问题是它说只有在
signicallback
启动后才能调用该方法。据我所知,启动
signinCallback
的唯一方法是在页面上放置一个登录按钮

这在我的登录页面上非常有效,但是一旦我对用户进行了身份验证,就没有必要在后续页面上设置G+登录按钮。我只想在角落里有一个小的“注销”链接,用户可以单击该链接注销


我试着让我的注销链接调用
gapi.auth.signOut()
,但它没有任何作用,除非我同时显示一个无用的登录按钮。如何使其工作?

按钮必须位于DOM中,而不必显示。似乎效果不错的是:

  • 创建一个隐藏元素并使用gapi.signin.render附加gapi处理程序
  • 等待立即出错-然后显示按钮
  • 否则,接受已登录回调,并显示注销按钮

  • 然后,您每次都会收到回拨,但只有在注销时才显示按钮。

    您能详细说明一下吗?我按照您的指示操作,因此我的站点会在每个页面上呈现该按钮,但仅在用户注销时才显示该按钮。问题是,当我注销然后刷新以便进入一个带有“登录”按钮的页面(任何页面)时,它会自动将我再次登录。如何在不自动登录用户(如果用户以前已登录)的情况下呈现它?这就是signout方法的用途-它写入本地cookie,因此回调会触发用户注销错误。请确保您的cookiepolicy是正确的-还请注意,如果您在sev期间使用该标志,则该标志在localhost上可能会有问题。我明白了。多亏了那最后一个提示,我才成功了!它在我的dev服务器(0.0.0.0:6543)上不起作用,但在生产服务器上效果很好。这对我来说不起作用。唯一的办法是按照这里的建议通过撤销