【问题标题】:Completely logout of Google Accounts from OAuth 2.0 authenticated webpage and redirect从 OAuth 2.0 认证网页中完全注销 Google 帐户并重定向
【发布时间】:2014-07-08 17:21:06
【问题描述】:

我正在尝试使用Google OAuth 2.0 来验证我本地服务器上的网页。

到目前为止,我得到了:

  • Index.php - 此页面检查用户是否使用 Google 帐户登录。如果用户未登录,则转到 login.php。
  • Lo​​gin.php - 如果没有帐户登录,此页面将重定向到 Google 的安全登录页面。如果只有一个帐户登录,它会选择该帐户并重定向回 index.php。

index.php 上的注销按钮允许应用注销。它仅注销我的网页页面的会话。 Google 帐户仍为其他应用程序登录。

现在假设前一个用户已将其帐户保持登录状态。下一个用户登录该帐户并意识到该网站正在对前一个用户进行身份验证。所以,我想要一个logout 按钮,它可以让我完全退出Google 帐户,然后重定向回我的Login.php 页面。

到目前为止,我已经清除了 $_SESSION['access_token']$_SESSION['USER'],但它只注销了应用程序,而不是谷歌帐户。

我尝试过的一种方法是在新标签中设置一个链接点https://accounts.google.com/logout,并在当前标签中设置我的目标网页。但是这个 URL 会注销我的帐户,但仍然记得我的 ID。

有没有办法一键彻底退出谷歌账户?

还有更优雅的方法吗?

【问题讨论】:

  • 这不是 oauth2 背后的想法。您的客户(应用程序)不应该做任何与帐户相关的事情 - 特别是不注销用户,例如谷歌。正如您已经意识到的那样,在 oauth2 场景中“注销”是通过丢弃您的应用程序已授予的访问令牌来完成的 - 并且可能有来自其他供应商的其他应用程序也从谷歌授予了访问令牌。那么“从谷歌注销”是什么意思呢?

标签: session login oauth-2.0 google-oauth google-account


【解决方案1】:

我也面临同样的问题(仅使用 JS 而不是 PHP)。

我的一键解决方案如下: 我从我的 JS 代码中进行了 HTTP GET 调用以注销 URL。它可以注销用户,但在回复处理时在控制台中记录错误。看到这个帖子:How to logout from Google Account using AngularJS

【讨论】:

    猜你喜欢
    • 2021-12-25
    • 2013-04-29
    • 2012-09-09
    • 1970-01-01
    • 2014-06-24
    • 1970-01-01
    • 2011-05-11
    • 2017-07-21
    • 1970-01-01
    相关资源
    最近更新 更多