【问题标题】:In OpenID Connect's hybrid flow, what is the purpose of the 'code' parameter if you can request an access_token?在 OpenID Connect 混合流中,如果您可以请求 access_token,“code”参数的用途是什么?
【发布时间】:2018-04-18 20:38:36
【问题描述】:

根据我对 OpenID Connect 和 OAuth 2 中的授权代码流的了解,从授权端点返回给依赖方的代码参数应该在随后的 access_token 请求中进行交换。但是,在混合流中,您可以请求从授权端点返回的代码、access_token 和 id_token。那么,如果您已经拥有 access_token,为什么还需要 code 参数呢?

【问题讨论】:

    标签: openid-connect identityserver4


    【解决方案1】:

    我至少可以想到两个原因,都与客户端能够对令牌端点进行身份验证有关,但与授权端点无关:

    • 您通常只能从令牌端点接收 refresh_token,而不能从授权端点接收。因此,如果您需要,那么您可以先交换代码。
    • 提供者可以选择(或配置)在从授权端点返回的 ID 令牌中返回更少或最小的声明集,以及从令牌端点或通过 UserInfo 端点返回的 ID 令牌中的更多信息。我认为不建议直接从授权端点发送敏感声明。

    【讨论】:

      猜你喜欢
      • 2019-12-09
      • 2018-01-15
      • 2017-12-16
      • 1970-01-01
      • 2020-05-28
      • 2018-11-07
      • 2018-06-19
      • 1970-01-01
      • 2013-10-18
      相关资源
      最近更新 更多