security - token是什么 - refresh token作用




用户可以在oauth 2.0中同时获得两个有效的令牌,用于授权代码授权类型吗? (2)

*我有一个简单的问题相关的oauth令牌,所以我的要求是,用户可以有多个范围说A和B,他已经为它产生的标记,但后来他需要范围A和B和他以前的标记是有效的,所以在这种情况

  1. 我们是否应该更新现有令牌的范围?
  2. 我们是否应该为新的范围生成新的令牌?
  3. 或者应该为单个用户生成多个令牌?

OAuth2访问令牌是不可修改的,所以您应该使用一组不同的范围来获取新的访问令牌。 访问令牌是为应用程序而不是用户生成的,但是,可以有多个由单个用户授权的访问令牌 - 用户授权应用程序代表他执行一些操作(范围)。


如果您想更新现有令牌的范围,并且您的授权服务器为其提供了一种机制,请执行此操作。 事实上,某个授权服务器实现提供了Web API来更新现有访问令牌( /auth/token/update API, /auth/client/authorization/update API)的范围。

访问令牌是否可修改取决于每个授权服务器的实现。 例如,如果访问令牌的实现类型是“独立的” (例如像JWT ),则访问令牌是不可修改的。 另一方面,如果类型是“随机字符串” (在这种情况下,实际数据存储在授权服务器后面的数据库中),则访问令牌可能是可修改的。 有关详细信息,请参阅 OAuth和OpenID Connect的全面实现者关于调查结果 ”中的 “7.1。访问令牌表示”

一些授权服务器实现为用户和客户端应用程序的一个组合发出多个访问令牌,而其他实现仅为该组合发出一个访问令牌。 某个授权服务器实现提供了一个配置标志,使您可以选择下面的任何一种行为。 另请参阅此答案 。

你应该采取哪种方法取决于你的用例。 寻找最适合您的使用案例的授权服务器实施。





google-oauth