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

Keycloak 21版本:如何动态将Realm名称与ID添加至访问令牌

无需自定义映射器为Keycloak访问令牌添加Realm名称和ID的方法
  • 用内置User Attribute映射器直接配置
    不用写代码,直接在Keycloak客户端的「Client Scopes」里操作:选对应的客户端范围(比如默认的default),点击「Add Mapper」,类型选「User Attribute」。在「Attribute Name」里填realm.name或者realm.id,「Token Claim Name」自定义你要在令牌里显示的字段名(比如realm_name、realm_id),勾选「Access Token」选项后保存就行。这两个属性是Keycloak自带的,直接就能用。

  • 官方支持的Groovy脚本映射器
    旧版JS映射器被弃用后,Keycloak保留了Groovy脚本的映射能力(需要先在服务器配置里开脚本支持:找到standalone.xml/domain.xml里的spi节点,把scripting的enabled设为true)。添加映射器时选「Script Mapper」,脚本里直接写:

    token.setClaim("realm_id", realm.getId());
    token.setClaim("realm_name", realm.getName());
    

    这种是官方内置的功能,不算自定义映射器。

  • 额外提示
    标准OpenID Connect声明里没有Realm相关字段,所以没法通过简单开启配置直接获取,上面两种方法是最直接的无自定义映射器方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 19:47:06