Oauth2 访问令牌规范和处理范围
Oauth2 access token specifications and handling scope
我有两个问题想不通,希望大侠解释清楚:
1:
您请求具有有效代码和范围“access_userdata”的访问令牌。
访问令牌保存到数据库中,有效期为 10 天。
是否可以向访问令牌添加新范围?常见吗?或者您是否直接在用户必须提供的应用程序中列出所有范围
his/her 批准?
如果可能,您是否只查找访问令牌并向其添加新范围?
2:
假设您创建了一个可在计算机和平板电脑上使用的应用程序。
首先,您在计算机上获得一个访问令牌,该令牌的有效期设置为 10 天。
第二天,您在平板电脑上做同样的事情。会生成新的访问令牌吗?或者服务器会 return 相同的标记,因为你
与计算机上的用户相同并且令牌尚未过期吗?
我想您可以为同一用户拥有多个访问令牌?
这是个好问题=)
首先,我假设当你说你有一个令牌时,你实际上有一个 JSON Web 令牌 (JWT) -- 对吗?我假设是这样。
JWT 一旦签名就无法修改。所以不,你不能 'modify' 一个现有的令牌,而只是 'add' 作用域。然而,您可以做的是创建一个新的 JWT 对象,并将其与新包含的范围一起存储在您的数据库中。如果您的令牌是由 Google 或 Facebook 等第三方提供商提供的,您不能自行修改这些令牌。只有发行令牌的人才能更改它。
这取决于令牌的发行者。通常,对于 OAuth 流程,答案是肯定的:您登录的每台设备都将获得一个全新的令牌,该令牌具有自己的到期日期/时间。一个用户拥有多个令牌是很常见的。
我有两个问题想不通,希望大侠解释清楚:
1: 您请求具有有效代码和范围“access_userdata”的访问令牌。 访问令牌保存到数据库中,有效期为 10 天。 是否可以向访问令牌添加新范围?常见吗?或者您是否直接在用户必须提供的应用程序中列出所有范围 his/her 批准? 如果可能,您是否只查找访问令牌并向其添加新范围?
2: 假设您创建了一个可在计算机和平板电脑上使用的应用程序。 首先,您在计算机上获得一个访问令牌,该令牌的有效期设置为 10 天。 第二天,您在平板电脑上做同样的事情。会生成新的访问令牌吗?或者服务器会 return 相同的标记,因为你 与计算机上的用户相同并且令牌尚未过期吗? 我想您可以为同一用户拥有多个访问令牌?
这是个好问题=)
首先,我假设当你说你有一个令牌时,你实际上有一个 JSON Web 令牌 (JWT) -- 对吗?我假设是这样。
JWT 一旦签名就无法修改。所以不,你不能 'modify' 一个现有的令牌,而只是 'add' 作用域。然而,您可以做的是创建一个新的 JWT 对象,并将其与新包含的范围一起存储在您的数据库中。如果您的令牌是由 Google 或 Facebook 等第三方提供商提供的,您不能自行修改这些令牌。只有发行令牌的人才能更改它。
这取决于令牌的发行者。通常,对于 OAuth 流程,答案是肯定的:您登录的每台设备都将获得一个全新的令牌,该令牌具有自己的到期日期/时间。一个用户拥有多个令牌是很常见的。