Keycloak - проверьте электронную почту пользователя с помощью Rest API - PullRequest
0 голосов
/ 25 мая 2020

Я пытаюсь создать нового пользователя, а затем подтвердить его адрес электронной почты с помощью REST API. Чтобы отправить письмо с подтверждением, я использую свой собственный класс электронной почты в Springboot, поэтому я не вызываю конечную точку keycloak /send-verify-email! После создания пользователя я вижу в консоли keycloak, что пользователь создан, включен и его адрес электронной почты необходимо подтвердить.

Но вот в чем проблема. Как я могу подтвердить электронную почту с помощью Keycloak REST API? Для этой цели нет конечной точки, и я не могу обновить UserRepresentation, потому что у меня нет токена доступа. А без токена доступа вы не можете обновить пользователя, не так ли?

Значит, должна быть какая-то незащищенная конечная точка, которая не требует токена доступа и подтверждения электронной почты, например <userID>/verify-email или около того, но его нет. Поэтому я ищу альтернативы, как проверить электронную почту пользователя.

При использовании клиента Keycloak Springboot (или как он называется) для этой цели есть методы (например, обновить пользователя без токена), но, к сожалению, я не могу использовать эту библиотеку.

Я действительно начинаю ненавидеть keycloak ..

Спасибо всем за вашу помощь

1 Ответ

2 голосов
/ 26 мая 2020

Таким образом, должна быть какая-то незащищенная конечная точка, которая не будет требовать токен доступа и проверять электронную почту, например / verify-email

Это действительно небезопасный подход - любой сможет проверить любой электронная почта.

Создайте нового пользователя / клиента с правами администратора с надлежащей конфигурацией разрешений (ему должно быть разрешено обновлять пользователей) и используйте его (= вам нужна процедура входа в систему -> токен доступа) для обновления модели пользователя (PUT /{realm}/users/{id} - emailVerified: true). Конечно, этот пользователь-администратор будет нести ответственность за правильность адреса электронной почты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...