在OpenID Connect Core 1.0 incorporating errata set 1 Section 12.2是說:如何刷新id_token
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,它是一個簽名,也許加密,智威湯遜。 然後,id_token轉發到同一安全域內的其他服務。 這些其他服務需要確保最終用戶驗證了請求。 這對原始請求很有效。 但是,在刷新方案中,如果id_token過期,「其他服務」沒有方法來確認用戶。
確定在用戶信息端點有相同的信息,但這需要「其他服務」來獲取訪問令牌。 基於最不重要的原則,訪問令牌具有比被轉發的id_token更多的特權。
我知道的唯一的其他選項是將id_token複製到另一個JWT併發送它,但這當然是更多的「make work」。
在我看來,如果沒有原始請求的範圍更改,則不返回id_token是一個問題。