我有两个问题,我无法完全理解,希望有人能够清楚地解释清楚:
1: 您请求具有有效代码和范围“access_userdata”的访问令牌。 访问令牌保存到数据库,使用期限为10天。 是否可以向访问令牌添加新范围?这很常见吗?或者您是否直接在用户必须提供的应用程序中列出所有范围 他/她的批准? 如果可能,您是否只是查找访问令牌并向其添加新范围?
2: 让我们假设您已经创建了一个在计算机和平板电脑上使用的应用程序。 首先,您在计算机上获得一个访问令牌,其设置的过期时间为10天。 第二天,您在平板电脑上也这样做。是否会生成新的访问令牌?或者服务器会返回相同的令牌,因为您 是否与计算机上的用户相同且令牌尚未过期? 我想你可以为同一个用户拥有多个访问权限令牌?
答案 0 :(得分:2)
这是一个很好的问题=)
首先,我假设当你说你有一个令牌时,你实际上有一个JSON Web令牌(JWT) - 这是正确的吗?我会假设。
JWT签名后无法修改。所以不,你不能修改'一个现有的令牌,只是添加'范围。但是,您可以创建一个新的JWT对象,并使用新包含的范围将其存储在数据库中。如果您的令牌是由Google或Facebook等第三方提供商提供给您的,则您无法自行修改这些令牌。只有发出令牌的人才能更改它。
这取决于令牌的发行者。通常,对于OAuth流程,答案是肯定的:您登录的每个设备都将获得一个具有自己的到期日期/时间的全新令牌。对于单个用户来说,拥有许多令牌是很常见的。