用户可以在oauth 2.0中一次拥有两个有效令牌,用于授权代码授予类型吗?

Moh*_*zan 6 security oauth oauth-2.0 google-oauth

*我有一个与oauth令牌相关的简单问题,所以我的要求是用户可以有多个范围说A和B并且他已经为它生成了令牌但是后来他需要范围A和B两者并且他之前的令牌是有效的,所以在那种情况

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

Tak*_*aki 4

如果您想更新现有令牌的范围,并且您的授权服务器提供了相应的机制,那就这么做吧。事实上,某个授权服务器实现提供了 Web API 来更新现有访问令牌(/auth/token/updateAPI、/auth/client/authorization/update API)的范围。

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

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

在此输入图像描述

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