Как я могу создать пользователя с паролем в Keycloak с помощью REST API?

Я могу создать нового пользователя с помощью REST API по адресу

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

но у пользователя нет пароля. После этого сообщения и этот пост Я добавил учетные данные в json вот так

{
  "firstName":"functest",
  "lastName":"functest",
  "email":"[email protected]",
  "enabled":true,
  "username":"functest",
  "credentials":[{"type":"password","value":"abc123","temporary":false}]
}

но когда я пытаюсь войти в систему с именем пользователя и паролем, это не удается. Когда я смотрю на учетные данные пользователей в пользовательском интерфейсе, отображается строка с типом password, но метка пользователя пуста.

Как я могу создать пользователя с паролем с помощью REST API?


person Dean Schulze    schedule 22.12.2020    source источник


Ответы (1)


Что ж, вы должны иметь возможность создавать учетные данные с помощью конечной точки:

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

с полезной нагрузкой

{"enabled":true,"username":"functest","email":"[email protected]","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>
person dreamcrash    schedule 23.12.2020
comment
Проголосовали за ваш ответ, второй подход, который вы упомянули, необходим для старых версий, а первый подход подходит для последней версии. - person Mittal; 09.04.2021
comment
@Mittal спасибо за отзыв, я не знал об этом на самом деле - person dreamcrash; 09.04.2021