【问题标题】:WSO2 IS 5.11.0/APIM 4.1.0- JWT Token not returning Custom ClaimsWSO2 IS 5.11.0/APIM 4.1.0- JWT 令牌不返回自定义声明
【发布时间】:2022-12-15 14:40:59
【问题描述】:
  1. 通过导航到 WSO2 v5.11 IS 控制台并导航到 Claims -> Add -> Add Local Claim 添加了自定义声明。如下所示

  2. 在 WSO2 中创建的新用户和使用自定义声明更新的个人资料,如下所示

  3. 从 Java 客户端调用已发布的端点以从请求标头中获取 JWT 令牌,如下所示。

    jWT 令牌 = http Request.getHeader("X-JWT-Assertion");

  4. 从请求标头中成功检索到 JWT 令牌。

  5. 解码令牌后,我们只看到默认声明而不是自定义声明。

  6. 我们期望 JWT 令牌应该返回自定义声明和默认声明。

  7. WSO2 5.11.0 中是否需要任何配置才能使用 JWT 令牌获取自定义声明?

    环境

    • WSO2 是 5.11.0
    • WSO2 API 管理器 4.1.0

    期待

    • JWT 令牌应返回自定义声明

【问题讨论】:

    标签: jwt wso2 wso2-api-manager wso2-identity-server


    【解决方案1】:

    如果要将自定义声明添加到生成的 JWT 令牌中,则需要在服务提供商配置中将声明标记为对用于生成令牌的特定应用程序是必需的。 有关更多详细信息,请参阅https://is.docs.wso2.com/en/5.10.0/learn/configuring-claims-for-a-service-provider/#claim-mapping

    然后,您需要在调用令牌端点时添加 openid 范围。

    curl -k -d "grant_type=password&username=<USERNAME>&password=<PASSWORD>&scope=openid" -H "Authorization: Basic <BASE64 ENCODED CONSUMER_KEY:CONSUMER_SECRET>, Content-Type: application/x-www-form-urlencoded" https://<GATEWAY_HOSTNAME>:<PORT>/token
    

    有关更多详细信息,请参阅https://apim.docs.wso2.com/en/latest/design/api-security/openid-connect/obtaining-user-profile-information-with-openid-connect/

    然后自定义声明将添加到令牌中,并将传递到生成的后端 JWT 令牌。

    【讨论】:

      猜你喜欢
      • 2022-12-06
      • 2022-06-18
      • 1970-01-01
      • 2020-03-10
      • 1970-01-01
      • 1970-01-01
      • 2018-11-17
      • 2017-02-18
      • 2022-11-02
      相关资源
      最近更新 更多