Keycloak: отключить перенаправление на страницу учетной записи после сброса пароля и показать сообщение

Я использую Keycloak и хочу включить поток забытых паролей. Я включил "Забыли пароль" в логине и настроил SMTP для отправки электронной почты. Что я получаю из коробки от Keycloak, так это следующее

- ›Нажмите ссылку« Забыли пароль »-› Введите имя пользователя или адрес электронной почты - ›Пользователь получит электронное письмо со ссылкой для сброса -› Нажмите ссылку - ›Сбросить пароль, затем отправьте -› Пользователь вошел в систему, затем пользователь перенаправлен на страница аккаунта.

Я хочу добиться следующего

- ›Нажмите ссылку« Забыли пароль »-› Введите имя пользователя или адрес электронной почты - ›Пользователь получит электронное письмо со ссылкой для сброса -› Нажмите ссылку - ›Сбросьте пароль, затем отправьте -› Отображение сообщения о том, что ваш пароль был обновлен. и не входите в систему. оставайтесь на этой странице.

Причина этого в том, что для моего варианта использования пользователь не должен получать доступ к странице учетной записи на Keycloak.

В потоке аутентификации для сброса учетных данных я могу настроить только сброс учетных данных.

Есть ли способ отключить это действие автоматического входа пользователя в систему после сброса пароля с последующим перенаправлением на страницу учетной записи?

Я рассмотрел несколько вопросов, но не могу найти ответа, как этого можно достичь.

PS: Я использую образ докера Keycloak с настраиваемой темой. Если это можно настроить с помощью пользовательских параметров темы, у меня есть шанс это сделать.

Заранее спасибо.


person NehaM    schedule 18.08.2020    source источник


Ответы (1)


Мы столкнулись с аналогичной проблемой во время использования keycloak и решили ее, реализовав собственный токен действия и обработчик токена действия (документы). Также ознакомьтесь с исходными источниками токенов действий для сброса учетных данных keycloak:

ActionToken

ActionTokenHandler

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

authSession.setRedirectUri(token.getNote(OIDCLoginProtocol.REDIRECT_URI_PARAM));
authSession.setAuthNote(AuthenticationManager.END_AFTER_REQUIRED_ACTIONS, "true");
authSession.setAuthNote(AuthenticationManager.SET_REDIRECT_URI_AFTER_REQUIRED_ACTIONS, "true");
authSession.setAuthNote(AuthenticationManager.END_AFTER_REQUIRED_ACTIONS, "true");
person solveMe    schedule 18.08.2020