使用OIDC&;向JWT访问令牌添加自定义声明;WSO2是

使用OIDC&;向JWT访问令牌添加自定义声明;WSO2是,wso2,wso2is,Wso2,Wso2is,我感兴趣的是向我的WSO2身份服务器颁发的JWT访问令牌(不是我的id令牌)添加自定义声明。我正在使用WSO2跟踪OpenID连接隐式流 我试图通过转到WSO2 IS控制台并导航到Claims->add->add Local claim来添加自定义索赔。然后,我将声明映射到连接的OpenLDAP实例中的一个属性 上面的图像只是一个示例,我使用的实际声明映射到OpenLDAP实例中充当辅助用户存储的属性 然后,我尝试在我的服务提供商中的服务提供商->列表->索赔配置下添加索赔 但是,在我的WS

我感兴趣的是向我的WSO2身份服务器颁发的JWT访问令牌(不是我的id令牌)添加自定义声明。我正在使用WSO2跟踪OpenID连接隐式流

我试图通过转到WSO2 IS控制台并导航到Claims->add->add Local claim来添加自定义索赔。然后,我将声明映射到连接的OpenLDAP实例中的一个属性

上面的图像只是一个示例,我使用的实际声明映射到OpenLDAP实例中充当辅助用户存储的属性

然后,我尝试在我的服务提供商中的服务提供商->列表->索赔配置下添加索赔

但是,在我的WSO2身份服务器授予的访问令牌中,我没有看到自定义声明

对my WSO2 identity server的调用如下所示:

https://localhost:9443/oauth2/authorize?client_id=MY_CLIENT_ID&redirect_uri=MY_REDIRECT_URI&scope=openid&response_type=token&response_mode=query&nonce=MY_NONCE
输入正确的凭据后,我在令牌中看不到我的自定义声明

令牌有效负载示例:

{
  "sub": "SUB_REMOVED",
  "aud": "AUD_REMOVED",
  "nbf": 1544053330,
  "azp": "AZP_REMOVED",
  "scope": "openid",
  "iss": "https://localhost:9443/oauth2/token",
  "groups": [
    "TEST LDAP 3/admin",
    "Internal/everyone"
  ],
  "exp": 1544056930,
  "iat": 1544053330,
  "jti": "JTI_REMOVED"
}

我漏了一步吗?谢谢大家!

当您使用OIDC时,WSO2 IS将发送
http://wso2.org/oidc/claim
方言

因此,您需要用上述方言创建一个声明,映射到新创建的本地声明。

然后,您需要将新创建的声明添加到您请求的范围的允许声明列表中。为此,请转到
管理->OIDC范围->列表
,然后单击openid范围(或您正在使用的任何其他范围)的
添加声明
操作。现在添加新创建的openid声明,单击add,然后单击Finish


现在请与新用户一起尝试登录流程。

当您使用OIDC时,WSO2 IS将发送
中映射的声明http://wso2.org/oidc/claim
方言

因此,您需要用上述方言创建一个声明,映射到新创建的本地声明。

然后,您需要将新创建的声明添加到您请求的范围的允许声明列表中。为此,请转到
管理->OIDC范围->列表
,然后单击openid范围(或您正在使用的任何其他范围)的
添加声明
操作。现在添加新创建的openid声明,单击add,然后单击Finish


现在,请与新用户一起尝试登录流程。

这正是我所需要的。非常感谢。正是我需要的。非常感谢。