scope - Oauth2 访问 token 规范和处理范围

标签 scope access-token oauth-2.0

我有两个问题无法完全理解,希望有人能解释清楚:

1: 您请求带有有效代码和范围“access_userdata”的访问 token 。 访问 token 将保存到数据库中,有效期为 10 天。 是否可以向访问 token 添加新范围?常见吗?或者您是否直接在应用程序中列出用户必须提供的所有范围 他/她的认可? 如果可能的话,您是否只查找访问 token 并向其添加新范围?

2: 假设您已经创建了一个在计算机和平板电脑上使用的应用程序。 首先,您会在计算机上获得一个访问 token ,该 token 的有效期设置为 10 天。 第二天,您在平板电脑上执行相同的操作。是否会生成新的访问 token ?或者服务器会返回相同的 token ,因为您 与计算机上的用户是同一用户并且 token 尚未过期吗? 我想您可以为同一用户拥有多个访问 token ?

最佳答案

这是个好问题=)

首先,我假设当您说您有一个 token 时,您实际上有一个 JSON Web token (JWT) - 这是正确的吗?我假设是这样。

  1. JWT 一旦签名就无法修改。所以不,您不能“修改”现有 token ,而只能向其中“添加”范围。但是,您可以做的是创建一个新的 JWT 对象,并将其与新包含的范围一起存储在数据库中。如果您的 token 是由 Google 或 Facebook 等第三方提供商提供给您的,您无法自行修改这些 token 。只有发行 token 的人才能更改它。

  2. 这取决于 token 的发行者。通常,对于 OAuth 流程,答案是肯定的:您登录的每个设备都会获得一个具有自己的到期日期/时间的全新 token 。单个用户拥有许多代币是很常见的。

关于scope - Oauth2 访问 token 规范和处理范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34871720/

相关文章:

facebook-graph-api - Facebook 完全权限 AccessToken 替代离线访问 token

android - 使用 Android 应用链接作为 OAuth2 重定向 URI

oauth-2.0 - Google SAML app_not_configured_for_user/相当于 prompt=select_account SAML

javascript - 如何检查授权 token 是否过期并强制注销?

java - 全局变量无法识别用户输入的数字

coldfusion - 如何从 ColdFusion 9 中的单独应用程序访问一个应用程序范围?

Api Token认证如何避免中间人

javascript - 更改 AngularJS 中特定标题的颜色

c# - 表单应用程序中的错误范围

android - 无需用户干预即可刷新访问 token