这些天我一直在尝试学习一些服务器端框架。我不是 oauth2 的专家,但我曾与团队一起使用过 api。他们使用资源所有者凭据授予我访问权限,并使用 grant_type 作为密码、client_id 和 client_secret。我可以同时登录多个浏览器。因为我尝试过 sails js oauth 2 和 laravel Passport oauth2。我很困惑。他们都使用 grant_type 密码撤销我的旧 access_token。使用 laravel Passport 和 sails js oauth2 以及 grant_type 密码。我一次只能在一台设备或浏览器上登录。我很困惑哪一件是正确的做法。
这就是 oauth2 真正的工作原理吗?您只能登录并使用一个访问令牌?
如果这是标准方法,则撤销旧的访问令牌。我应该使用什么类型的资助类型。这样我的多个设备可以同时登录吗?
该行为(颁发新的访问令牌是否会使现有访问令牌失效)取决于 OAuth 2.0 服务器实现。 OAuth 2.0 规范(RFC 6749 https://www.rfc-editor.org/rfc/rfc6749)不对该行为施加任何限制。
事实上,某个 OAuth 2.0 服务器实现提供了一项功能,使服务器管理员能够配置行为。以下是配置项(“Single Access Token Per subject”)的说明截图。
所以,重要的不是grant_type
但您正在使用的 OAuth 2.0 服务器的实施策略。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)