【发布时间】:2020-09-24 18:20:59
【问题描述】:
令牌是通过以下方式创建的:
"oauth": {
"client_id": "...",
"redirect_uri": "...",
"scope": "p1 p2 p3 p4 p5",
"state": "...",
"code_challenge": "...",
"code_challenge_method": "..."
}
这将返回一个带有范围选项的签名 jwt 令牌。
我想用声明中的“selected_person”更新签名的 jwt,比如 p1,所以我调用刷新令牌 url 传递刷新令牌和范围“p1”,在后端执行一些逻辑并设置人员ID。然后将人员 ID 添加到新签名的令牌中,一切都很好:
eg. /token?client_id=x&grant_type=y&refresh_token=y&scope=p1
可以使用首先定义的任何范围(p1、p2 等)调用相同的端点,因为 Spring 会将范围与初始范围列表进行比较,如果匹配则返回刷新令牌。
当一个新人与我联系时就会出现问题,所以现在我将拥有 p6。由于每个刷新令牌调用都基于第一个列表,因此 p6 不存在并且不会被允许。如果我注销并获取新令牌,则 p6 将添加到范围中。
无论如何我可以在不注销的情况下将 p6 添加到范围吗?
编辑:
最终有没有办法更新最初授予的范围?
【问题讨论】:
标签: java spring-boot oauth jwt