OAuth2 授权类型密码正在撤销其他 access_token

OAuth2 Grant Type Password is Revoking other access_token

这几天一直在努力学习一些服务端框架。我不是 oauth2 的专家,但我曾在团队中使用过 api。他们使用资源所有者凭据授予我访问权限,密码为 grant_type,client_id 和 client_secret。我可以同时登录多个浏览器。因为我已经尝试过 sails js oauth 2 和 laravel passport oauth2。我很困惑。他们都使用 grant_type 密码撤销了我的旧 access_token。使用 laravel 护照并使用 grant_type 密码航行 js oauth2。我一次只能在一个设备或浏览器上登录。我很困惑哪一个是正确的做法。

oauth2 真的是这样工作的吗?您只能登录并使用一个访问令牌吗?

如果这是标准方式,则撤销旧的访问令牌。我应该使用哪种类型的赠款类型。所以我的多台设备可以同时登录?

行为 --- 颁发新的访问令牌是否会使现有访问令牌无效 --- 取决于 OAuth 2.0 服务器实现。 OAuth 2.0 规范 (RFC 6749) 不对该行为施加任何限制。

事实上,某个 OAuth 2.0 服务器实现提供了一项功能,使服务器管理员能够配置行为。下面是配置项(“Single Access Token Per Subject”)的描述截图。

所以,重要的不是grant_type,而是您正在使用的 OAuth 2.0 服务器的实施政策。