У нас есть требование, где нам нужно обойти страницу входа и напрямую предоставить доступ пользователю на основе токена, который имеет адрес электронной почты пользователя.
Мы используем электронную почту пользователя и генерируем токен доступа для пользователя, используя учетные данные администратора в Keycloak.
Даже после получения токена доступа мы не понимаем, как начать сеанс в Keycloak, используя токен доступа, токен обновления или токен идентификатора, который мы получаем.
Мы сгенерировали токен доступа с помощью шагов, указанных в приведенной ниже ссылке:
Keycloak: сгенерируйте токен доступа для пользователя с keycloak-admin.
Может ли кто-нибудь предложить, как действовать дальше, как инициировать сеанс keycloak
Решение проблемы
Я бы предложил использовать токен действия spi. Вы можете увидеть пример в кратком руководстве: action-token: Использование токена действия для включения внешнего вызова приложения в поток аутентификации.
Как вы могли бы использовать эту функцию:
- Создайте конечную точку REST для создания ссылки, содержащей токен одноразового использования.
- Создайте обработчик токена действия, который устанавливает примечание сеанса аутентификации и перенаправляет пользователя в поток браузера.
- Создайте альтернативный аутентификатор, который проверяет примечание сеанса аутентификации, установленное обработчиком токена.
Жетон действия должен быть одноразовым.
Пользователю будет предоставлена ссылка, сгенерированная конечной точкой REST из 1., и он сможет войти в систему без пароля.
На мой взгляд, это намного безопаснее, чем передача пользователю токенов доступа.
Комментариев нет:
Отправить комментарий