【问题标题】:Oauth2 access token specifications and handling scopeOauth2 访问令牌规范和处理范围
【发布时间】:2016-04-24 15:03:00
【问题描述】:

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

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

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

【问题讨论】:

    标签: scope access-token oauth2


    【解决方案1】:

    这是个好问题 =)

    首先,我假设当你说你有一个令牌时,你实际上有一个 JSON Web 令牌 (JWT) -- 对吗?我假设是这样的。

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

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

    【讨论】:

    • 感谢详细解答!
    猜你喜欢
    • 2011-06-28
    • 2020-09-16
    • 2016-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    • 2016-09-18
    • 2012-08-23
    相关资源
    最近更新 更多