KeyCloak 18.0.2原生配置下能否将client_id加入/userinfo接口?
在KeyCloak 18.0.2中原生配置将client_id加入userinfo接口返回
- 登录KeyCloak管理控制台,进入目标客户端的配置页面
- 切换到Mappers标签页,点击Create新建映射器
- 按以下参数配置映射器:
- Name:自定义名称(如
Add client_id to userinfo) - Mapper Type:选择Script Mapper(KeyCloak原生自带,无需自定义扩展)
- Script Type:选择Groovy
- Script内容:
claim = client.getId(); return claim; - Token Claim Name:填写
client_id - Claim JSON Type:选择String
- Add to userinfo:勾选On(确保该字段被包含在userinfo响应中)
- 其余选项保持默认,点击Save完成配置
- Name:自定义名称(如
配置完成后,调用/userinfo接口即可在返回结果中获取到当前请求对应的client_id字段。
你之前尝试通过User Model的serviceAccountClientId属性失败,是因为该属性仅对服务账号类型的用户有效,无法覆盖普通用户的场景,而上述方法通过直接获取当前请求的客户端实例ID,适用于所有用户类型的请求。
内容的提问来源于stack exchange,提问作者Herbert Souza Silva
相关产品推荐
相关产品推荐

