Keycloak - 如何检查用户名和电子邮件是否存在

Dan*_*Dan 3 java keycloak

我们希望以编程方式创建 Keycloak 用户,并检查 Keycloak 中是否已存在用户名和/或电子邮件地址。我们正在使用版本4.4.0.FINAL

当我们使用 Keycloak 管理客户端以编程方式创建用户时,如果用户名或电子邮件地址已被使用,我们将收到错误代码 409(冲突)。但是我们在响应(readEntity)中只收到一条错误消息,即用户名已经存在。错误消息也没有说明电子邮件地址已被使用。

检查 Keycloak 中是否已存在用户名和/或电子邮件地址的最佳方法是什么?

目标是准确知道用户名或电子邮件地址是否已经存在。这不仅是组合,而且如果用户 A 已经使用了请求的用户名并且用户 B 已经使用了请求的邮件地址。

Cyr*_*lle 5

使用 Admin API 检查用户名和/或电子邮件是否存在:

GET /{realm}/users?username=toto&email=blabla@example.com 
Run Code Online (Sandbox Code Playgroud)

然后检查结果是否为空。这两个usernameemail查询参数都是可选的。

更多信息:https : //www.keycloak.org/docs-api/4.4/rest-api/index.html#_users_resource (查找获取用户部分。)

Admin CLI 应该有相应的命令kcadm.sh

--编辑 2020-01-15--

可悲的是,v4.4.0 的文档从 Keycloak 网站上消失了。剩下的最接近的文档是 v4.8.0:https ://www.keycloak.org/docs-api/4.8/rest-api/index.html#_users_resource