【问题标题】:WSO2 id_token with missing claims缺少声明的 WSO2 id_token
【发布时间】:2019-11-29 00:38:41
【问题描述】:

在我的要求中,我需要获得“auth_time”和“acr”openid 声明。在我的 id 令牌上只能获得这些声明: amr、iss、exp、iat、nonce、c_hash、aud 和 at_hash

如何在令牌响应中添加这些声明? 我使用 openid-client 节点 js 库添加 scope="openid"

【问题讨论】:

    标签: wso2 wso2is


    【解决方案1】:

    根据OpenID Connect spec,auth_time 和acr 是可选声明。所以默认情况下 WSO2 身份服务器不会在 id_token 中发送这些声明。

    1. auth_time

    根据规范,

    auth_time:最终用户身份验证发生的时间。它的值是一个 JSON 表示从 1970-01-01T0:0:0Z 开始的秒数为 在日期/时间之前以 UTC 测量。当发出 max_age 请求时或 当 auth_time 被请求为基本声明时,则此声明为 必需的;否则,它的包含是可选的。

    身份服务器符合规范,您可以选择获取 auth_time 作为 id_token 中的声明。

    选项1

    要获取 auth_time,您可以在授权流程中发送一个以 ma​​x_time 作为参数的请求。下面给出了一个示例请求

    https://localhost:9443/oauth2/authorize?response_type=code&scope=openid&max_age=12345&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fplayground2%2Foauth2client&client_id=KmerETRbZx2ErGhCqRfv4xhxeSAa
    

    选项2:

    否则,您可以请求 auth_time 作为请求中的基本声明。 您必须将声明作为请求参数传递,并将 auth_time 作为基本声明发送。

    {"id_token":{"auth_time":{"essential":true}}}
    

    您必须进行 url 编码并将其作为值传递给授权端点的 claims 请求参数。下面给出了一个示例请求。

    https://localhost:9443/oauth2/authorize?response_type=code&scope=openid&&claims=%7B%22id_token%22%3A%7B%22auth_time%22%3A%7B%22essential%22%3Atrue%7&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fplayground2%2Foauth2client&client_id=KmerETRbZx2ErGhCqRfv4xhxeSAa
    

    2。 acr:

    acr:可选。身份验证上下文类参考。

    要获取 id_token 中的 acr 值,首先需要将 acr_values 作为请求参数与所有 acr 值一起传递。

    您可以通过使用自适应身份验证脚本轻松地将 ACR 和 AMR 与 WSO2 Identity Server 结合使用。通过这一点,身份提供者可以在用户身份验证流程中实施额外的保证。您可以从身份验证脚本中选择 acr。然后身份服务器将在 id_token 响应中发送选择的 acr。您可以按照此document 在身份服务器中使用 ACR 以及如何配置以获取 id_token 中的 acr 值。

    【讨论】:

      【解决方案2】:

      您可能希望将这些声明添加为服务提供者中的Requested Claims

      https://docs.wso2.com/display/IS580/Configuring+Claims+for+a+Service+Provider

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-04
        • 2013-07-11
        • 2013-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多