我们希望以编程方式创建 Keycloak 用户,并检查 Keycloak 中是否已存在用户名和/或电子邮件地址。我们正在使用版本4.4.0.FINAL。
当我们使用 Keycloak 管理客户端以编程方式创建用户时,如果用户名或电子邮件地址已被使用,我们将收到错误代码 409(冲突)。但是我们在响应(readEntity)中只收到一条错误消息,即用户名已经存在。错误消息也没有说明电子邮件地址已被使用。
检查 Keycloak 中是否已存在用户名和/或电子邮件地址的最佳方法是什么?
目标是准确知道用户名或电子邮件地址是否已经存在。这不仅是组合,而且如果用户 A 已经使用了请求的用户名并且用户 B 已经使用了请求的邮件地址。
使用 Admin API 检查用户名和/或电子邮件是否存在:
GET /{realm}/users?username=toto&email=blabla@example.com
Run Code Online (Sandbox Code Playgroud)
然后检查结果是否为空。这两个username和email查询参数都是可选的。
更多信息: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
| 归档时间: |
|
| 查看次数: |
7030 次 |
| 最近记录: |