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

如何在Keycloak注册表单添加必填用户属性并使其纳入JWT?

Keycloak自定义属性配置方案

你的两个需求都完全可以实现,具体操作步骤如下:

一、将shop属性添加到默认注册表单

  1. 登录Keycloak管理后台,选中你创建的目标领域
  2. 左侧菜单点击「Authentication」→「Flows」
  3. 在流程列表找到「Registration」,点击右侧「Actions」→「Copy」,复制出一个自定义注册流程(不建议直接修改默认流程,防止版本升级被覆盖)
  4. 展开复制后的流程,找到「Registration User Creation」步骤,点击右侧「Actions」→「Config」
  5. 在配置界面,找到用户属性相关设置,勾选你创建的shop属性,并设置为必填项,保存配置
  6. 回到「Authentication」→「Bindings」,将「Registration Flow」切换为你刚才修改好的自定义流程,保存即可

二、让shop属性包含在JWT令牌中

推荐用客户端映射器的方式实现,步骤如下:

  1. 在目标领域左侧菜单点击「Clients」,选中你的业务客户端
  2. 切换到「Mappers」标签页,点击「Create」新建映射器
  3. 映射器类型选择「User Attribute」
  4. 填写配置参数:
    • Name:自定义名称(比如shop属性映射)
    • User Attribute:填写shop(和你创建的属性名完全一致)
    • Token Claim Name:填写JWT中要显示的字段名(比如shop)
    • Claim JSON Type:选择String
    • 勾选「Add to ID token」和「Add to access token」(根据你的业务需求选择,一般都勾选)
  5. 保存配置后,新生成的JWT令牌就会包含shop属性了

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 13:13:25