【问题标题】:Logging out from Google external service从 Google 外部服务中注销
【发布时间】:2013-04-20 17:44:36
【问题描述】:

我有一个“问题”。

我在我的网站中使用 Google 的登录/注销外部服务。

如果我检查资源,特别是 cookie,我发现当我从站点注销时,相关的 cookie 被删除。

但是如果我按下浏览器的后退按钮,cookie 就会重新创建.....

Google 的外部服务自动重新登录用户,无需任何身份验证过程...

我该怎么办?谢谢。

【问题讨论】:

  • 你在使用 OAuth2 吗?
  • 我使用了 OAuth。但我读到这是谷歌服务的问题。从客户端删除 cookie,但从服务端存储和重新创建信息,而不受同一台机器的控制。所以我认为解决方案是像新的 Mozilla Persona mozilla.org/en-US/persona 这样的服务
  • 在 OAuth2 中,您可以撤销令牌,这正是您正在寻找的效果。只需向服务器发送撤销请求,令牌就会变得无用。
  • 太棒了!把它当作一个答案,这样我就可以接受了!

标签: cookies oauth logout


【解决方案1】:

在 OAuth2 中,您可以撤销一个令牌,这正是您正在寻找的效果。向服务器发送撤销请求,令牌变得无用。

只需对该 URL 发出 GET 请求:

'https://accounts.google.com/o/oauth2/revoke?token=' + accessToken

浏览器仍会登录到 Google,这在某些情况下可能是一个问题,但您的应用程序已注销。

【讨论】:

    【解决方案2】:

    这是退出 Google 和您的 RP 的可靠解决方案。

    只需调用这个 URI

    https://www.google.com/accounts/Logout?continue=https://appengine.google.com/_ah/logout?continue=https://www.yourapp.com

    它将退出谷歌并重定向回您的应用程序。谢谢!

    很快我将发布我的 windows live 和 facebook.com STS 的注销解决方案。

    请投票并标记为答案

    【讨论】:

    • 用户已接受通过撤销 OAuth 令牌将某人注销的答案。您能否添加一些解释来解释为什么这样做可能会更好?
    • 通过撤销 oAuth 令牌实际上不会在您的浏览器中将您从 Google 注销。您可以通过在同一浏览器会话的另一个选项卡中打开 account.google.com 来进行测试。它从来没有对我有用,这是一个安全风险。我建议按照我上面的建议去做。
    猜你喜欢
    • 2013-06-01
    • 2021-02-13
    • 2013-08-28
    • 2018-10-23
    • 2015-12-13
    • 2017-10-11
    • 2017-10-05
    • 2016-02-11
    • 1970-01-01
    相关资源
    最近更新 更多