Как я могу решить, что клиенту требуется согласие пользователя в keycloak?

#node.js #keycloak #keycloak-rest-api

Вопрос:

Мне нужно добавить согласие пользователя в keycloak user при создании пользователя. Я использую API

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

и включите и попробуйте создать пользователей, но я получаю ошибку типа:

Клиенту требуется согласие пользователя

Я не знаю, какой параметр мне нужно передать, чтобы исправить эту ошибку.

Ответ №1:

Что такое Согласие ?

Согласие-это когда вы, как администратор, хотите, чтобы пользователь дал разрешение клиенту, прежде чем этот клиент сможет участвовать в процессе аутентификации. После того, как пользователь предоставит свои учетные данные, Keycloak отобразит экран, идентифицирующий клиента, запрашивающего логин, и какие идентификационные данные запрашиваются у пользователя. Пользователь может решить, следует ли удовлетворять запрос или нет.

Итак, каков процесс создания пользователя с помощью api или команды curl

  1. Сгенерируйте токен с помощью идентификатора пользователя/пароля/информации о клиенте/области
  2. Теперь передайте этот токен команде create user restapi или curl с датой[имя пользователя/идентификатор электронной почты…] и т. Д

Итак, в вашем случае вы сталкиваетесь с проблемой о

 Client requires user consent
 

Таким образом, это означает, что в вашем клиенте(который использовался для создания токена) Consent Required опция true вместо false.
или
Вы используете неправильный клиент для создания пользователя.

введите описание изображения здесь

К вашему сведению :- Как правило, у нас есть два разных клиента для внутреннего и внешнего приложений с некоторыми существенными различиями.