首页 > 解决方案 > 如何使用 REST API 在 Keycloak 中创建具有密码的用户?

问题描述

我可以在以下位置使用 REST API 创建一个新用户

http://localhost:8080/auth/admin/realms/myRealm/users

但用户没有密码。在这篇文章这篇文章之后,我像这样向 json 添加了凭据

{
  "firstName":"functest",
  "lastName":"functest",
  "email":"me@gmail.com",
  "enabled":true,
  "username":"functest",
  "credentials":[{"type":"password","value":"abc123","temporary":false}]
}

但是当我尝试使用用户名和密码登录时,它失败了。当我在 UI 中查看用户凭据时,它确实显示了一条带有类型password但用户标签为空白的行。

如何使用 REST API 创建具有密码的用户?

标签: restkeycloakkeycloak-rest-api

解决方案


那么您应该能够使用端点创建凭据:

POST http://localhost:8080/auth/admin/realms/myRealm/users

与有效载荷

{"enabled":true,"username":"functest","email":"me@gmail.com","firstName":"functest","lastName":"functest","credentials":[{"type":"password","value":"abc123","temporary":false}]}

或者,您可以先创建用户,然后使用端点设置密码:

PUT http://localhost:8080/auth/admin/realms/myRealm/users/<USER_ID>

与有效载荷:

{"credentials":[{"type":"password","value":"abc123","temporary":false}]}

您可以从以下用户ID处获取它:

GET http://localhost:8080/auth/admin/realms/myRealm/users/?username=<USERNAME>

推荐阅读