You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WSO2返回的OpenId Connect令牌中添加自定义数据

在WSO2 OpenID Connect令牌中添加自定义data属性配置步骤

要在WSO2返回的OIDC令牌里加入包含当前用户账号的data对象,按以下步骤操作:

1. 创建自定义本地声明

  • 登录WSO2管理控制台,左侧菜单选择Claims > Add
  • 填写声明信息:
    • Claim URI:输入唯一标识,比如http://wso2.org/claims/user_account
    • Display Name:填User Account(方便识别)
    • Mapped Attribute:如果用WSO2内置用户存储,直接填username(对应登录用户的账号字段;如果是外部用户存储,填对应账号的字段名)
  • 点击Save保存声明

2. 配置服务提供者(SP)的声明映射

  • 进入Service Providers,找到目标SP后点击Edit
  • 切换到Claim Configuration标签页
  • 在Requested Claims区域,点击Add Claim,搜索刚才创建的User Account声明并添加
  • 点击Add Custom Claim Dialect,添加嵌套结构的声明映射:
    • External Claim:填data.user_account(这就是JWT里最终的键路径)
    • Local Claim:选择刚才创建的http://wso2.org/claims/user_account
  • 保存SP配置

3. (可选)调整Token包含范围

  • 如果需要在Access Token也包含该字段,进入SP的OAuth/OpenID Connect Configuration,勾选Include all claims in the access token(或者在Claim Configuration里单独指定Access Token的声明)
  • 若用Resident IDP,可在Identity Providers > Resident > Claim Configuration里统一配置哪些声明要包含在Token中

4. 验证结果

  • 发起OIDC授权流程获取ID Token/Access Token
  • 用JWT解码工具解析Token,就能看到类似这样的结构:
{
  "at_hash": "xxxxxx",
  "sub": "tester",
  "data": { "user_account": "testlogin" },
  // 其他默认声明...
}

注意:如果需要给data添加更多字段,重复上述步骤,把外部声明设为data.xxx格式即可,WSO2会自动将这些嵌套键组合成data对象。

内容的提问来源于stack exchange,提问作者Tushar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 22:02:51