提问者:小点点

从KeyCloak userinfoendpoint获取角色


我有keyCloack领域与授权代码流与公共存取类型。

如何从keyCloak userinfoendpoint获取用户角色而不client_secret?

我正在尝试使用映射器,但无法获取此信息。Userinfoendpoint仅返回以下内容:

{
   "sub":"ace69576-614e-41fe-9584-aac69c34dec1",
   "email_verified":true,
   "name":"John Doe",
   "Token Claim Name":[
      "Realm Role prefixuma_authorization",
      "Realm Role prefixoffline_access"
   ],
   "preferred_username":"user",
   "given_name":"John",
   "family_name":"Doe",
   "email":"johndoe@example.com"
}

共1个答案

匿名用户

如何从keyCloak userinfoendpoint获取用户角色而不client_secret?

您是否可以从userinfoendpoint获取用户角色与客户端的类型无关(即机密公共)。

要使用户角色(即领域或/和客户端相关角色)也可从userinfoendpoint使用,请执行以下操作:

  • 去相应的领域;
  • 转到相应的客户端;
  • 转到Mappers;
  • 点击创建
  • 作为Mapper Type选择User Realm Role
  • 设置为ON选项Add to userinfo,然后单击保存;

如果用户分配了客户端角色;重新执行上述步骤,但这次选择User Client Role作为Mapper Type