【发布时间】:2017-11-18 14:19:47
【问题描述】:
在OpenID Connect Core 1.0 incorporating errata set 1 Section 12.2 中说:
12.2. Successful Refresh Response
Upon successful validation of the Refresh Token, the response body is the Token Response of Section 3.1.3.3 except that it might not contain an id_token.
最初获取 id_token 时,它是一个签名的,也许是加密的 JWT。 然后将 id_token 转发到同一安全域内的其他服务。 这些其他服务需要确保最终用户已对请求进行身份验证。 这适用于原始请求。 但是在刷新场景下,如果id_token过期了,“其他服务”就没有办法确认用户了。
确定在用户信息端点上可以使用相同的信息,但这需要“其他服务”来获取访问令牌。 基于最小原则原则,Access Token 比被转发的 id_token 拥有更多的权限。
我知道的唯一其他选择是将 id_token 复制到另一个 JWT 中并发送,但这当然更“使工作”。
在我看来,如果原始请求没有范围更改,则不返回 id_token 是一个问题。
【问题讨论】: