【问题标题】:A question about oauth2.0 client_secret when exchanging authorization code for token一个关于oauth2.0 client_secret 用授权码换token时的问题
【发布时间】:2021-06-27 05:56:39
【问题描述】:

https://www.rfc-editor.org/rfc/rfc6749#section-4.1.3 """ 客户端通过发送 以下参数使用“application/x-www-form-urlencoded” 符合附录 B 的格式,HTTP 中字符编码为 UTF-8 请求实体主体:

grant_type 必需的。值必须设置为“authorization_code”。

代码 必需的。收到的授权码 授权服务器。

redirect_uri 必需,如果“redirect_uri”参数包含在 第 4.1.1 节中描述的授权请求,及其 值必须相同。

client_id 必需的,如果客户端没有与 授权服务器,如第 3.2.1 节所述。

如果客户类型是保密的或客户是发给客户的 凭据(或分配的其他身份验证要求), 客户端必须按照所述向授权服务器进行身份验证 在第 3.2.1 节中。 """

client_secret 不在参数列表中,为什么?

【问题讨论】:

    标签: oauth-2.0


    【解决方案1】:

    如果客户端类型是公开的,则客户端密码不存在。阅读第 3.2.1 节,然后阅读第 2.1 节。

    机密客户通常会发布(或建立)一组
    用于通过授权进行身份验证的客户端凭据
    服务器(例如,密码、公钥/私钥对)。

    因此,对于机密客户,还需要一个参数。在 Keycloak 或 IdentityServer4 中,该参数是 client_secret。

    【讨论】:

      猜你喜欢
      • 2019-10-20
      • 1970-01-01
      • 2021-10-04
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      • 2023-01-29
      • 2023-03-21
      • 2018-07-30
      相关资源
      最近更新 更多