【问题标题】:Oauth Revoke access token onlyOauth 仅撤销访问令牌
【发布时间】:2015-04-16 01:24:37
【问题描述】:

我正在使用 OAuth 2.0 在我的网站上登录用户。就像任何类型的网站一样,例如谷歌、体式等。

我想知道的是,是否有办法在用户注销时只撤销访问令牌而不是刷新令牌。

这就是我的工作:

当用户登录时,我会创建一个会话并获取访问令牌(如果用户是第一次登录,还会获取刷新令牌)。当用户注销时,我只是使会话无效,但访问令牌仍然有效。

当然,访问令牌会在一段时间后或当用户再次登录 Web 应用程序时失效,但我想知道访问令牌是否可以在注销过程中失效。

【问题讨论】:

    标签: http authentication oauth-2.0


    【解决方案1】:

    这个问题没有通用的答案,因为令牌撤销行为的实现。相关令牌是授权服务器特定的。 Google 将使刷新令牌与被撤销的访问令牌一起失效,其他实现可能会选择不这样做。然而,其他实现甚至可能根本没有提供撤销访问令牌的方法。

    对于 Google,您可以在注销时撤销访问令牌,如 https://developers.google.com/accounts/docs/OAuth2WebServer#tokenrevoke 中所述,但它也会撤销关联的刷新令牌。然后,您必须再次通过授权代码流程来获取新的刷新令牌,您可以尝试使用 prompt=none 来避免提示用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-12
      • 1970-01-01
      • 2014-05-07
      • 1970-01-01
      • 2020-09-29
      • 1970-01-01
      相关资源
      最近更新 更多