Keycloak 安全用户注册

Pet*_*tig 3 keycloak

我想用 keycloak 保护我的用户注册页面,但在阅读文档时想不出任何方法。

用例: 新用户的注册页面不应该是公开的。新用户会收到来自管理员的邀请电子邮件。该电子邮件包含指向注册页面的链接。

我考虑过使用initial access token(例如用于客户端注册)并将其添加到注册页面的链接中。Afaik 有没有类似的用户注册?

还有其他方法可以做到吗?

Xtr*_*ica 6

我认为你有两种选择来实现它:

第一的

您在发送邀请之前知道目标用户的电子邮件,因此您可以让管理员在 keycloak 中创建一个用户,并将电子邮件本身作为用户名。然后管理员应该检查“验证电子邮件”、“更新配置文件”和“更新密码”作为必需的操作,因此 keycloak 将发送一封激活邮件(您可以自定义电子邮件模板),并且用户将被要求填写他的数据并设置密码。

如果您不希望管理员直接访问 keycloak,您可以通过用户管理 API 来实现。

第二

在您的应用程序中实现此逻辑。编写一个可使用代码(可能是一些 UUID)公开访问的用户数据表单。管理员发送邀请邮件时,将随机代码链接到地址,以便用户进入页面时,您可以验证它。然后,您需要使用用户管理 API 作为新用户将数据保存在 keycloak 中。