如何在 Keycloak 中的身份提供者上设置默认组

问题描述 投票:0回答:2

在 Keycloak 中,当用户通过身份提供商登录时,是否可以将用户分配到默认组?

注意:这已经适用于角色。例如。

navigate to Identity Provider
select Provider
Mappers
New
Hardcoded Role
select Role
Save
。然而,这样的映射器似乎缺少用于选择组的功能。

关于如何实现这一目标有什么想法吗?

oauth keycloak openid-connect keycloak-services keycloak-connect
2个回答
1
投票

人们会认为这样的映射器存在,但不幸的是,直到最新版本它才存在。但是,除了扩展和创建自己的映射器之外,您还可以执行以下解决方法:

  • 导航至身份提供商配置;
  • 选择 IDP;
  • 转到Mappers并单击创建;
  • 作为
    Mapper Type
    选择
    Advanced Claim to Group
  • 添加
    Key
    Value
    声明,表明您知道将始终出现在来自 IDP 的所有代币中,无论用户是谁;
  • 例如,'exp' 作为键,'*' 具有值。对于这个特定的示例,您需要启用“正则表达式声明值”选项;
  • 在字段中
    Group
    选择默认情况下自动添加到外部 IDP 的所有用户的组;
  • 点击保存。

如果您使用给定用户通过外部 IDP 登录,您应该会看到该用户属于您设置的组。要检查这一点,请转到用户 > 选择所需的用户 > 选项卡组。


0
投票

我不知道其他 Keycloak 版本,但在版本

16.1.x
上,
Hardcoded Group
映射器不存在。某些 IDP 提供商(例如 Google)的
Advanced Claim to Role/Group
映射器也没有。不过,“高级索赔...”映射器可用于 OIDC 类型的 IDP 提供商。

© www.soinside.com 2019 - 2024. All rights reserved.