如何在 Keycloak 中注册用户期间强制自定义用户属性的唯一性?

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

我正在开发一个 Angular/Spring Boot Web 应用程序项目,并使用 Keycloak(服务器版本 15.0.2)进行用户管理。我需要确保在注册过程中每个用户的特定自定义用户属性都是唯一的。目前,我不确定实现这一目标所需的步骤以及是否可能。

我探索了两种可能的方法来解决这个问题。首先,我考虑实现服务提供商接口(SPI),但由于我对 Keycloak 的经验有限,我决定探索图形界面(Keycloak 管理控制台)。以下是我遵循的步骤:

  1. 访问 Keycloak 管理控制台并选择适当的领域。
  2. 导航到左侧边栏菜单中的“身份验证”选项卡。
  3. 选择“流程”子选项卡并选择“注册”流程。 我遇到了一个显示注册流程可用设置的表格 Screenshot of registration flow

但是,我注意到我需要设置唯一的自定义属性并未在此表中列出。相反,它只能在用户的自定义属性部分中访问Screenshot of user's specific attributes

目前,我不确定接下来的步骤如何在用户注册期间使自定义属性唯一。我将非常感谢任何关于如何实现这一目标的指导或建议。

注意: 如果推荐的解决方案涉及使用SPI,请提供相关信息和实施步骤。

keycloak keycloak-services user-registration keycloak-angular keycloak-flows
1个回答
0
投票

我必须在我的项目中实现类似的事情。我创建了一个自定义验证器来验证属性的唯一性。这是验证器类:https://gist.github.com/dawidgora/5e7cbde3f63f5dcb3e570e1a5f917aba

我希望这会对某人有所帮助,因为我在网上找不到关于这个主题的太多帮助。

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