Keycloak — полная настройка потока входа через токен действия SPI

#java #single-sign-on #keycloak #keycloak-services #redhat-sso

#java #единый вход #keycloak #keycloak-сервисы #redhat-sso

Вопрос:

У нас есть особые требования к потоку аутентификации и UI / UX, которые не могут быть удовлетворены с помощью механизма тематизации Keycloak и расширений для SPI аутентификатора.

Я изучил токен действия SPI, и он кажется точкой расширения, которую можно использовать для делегирования (большей части) потока аутентификации внешнему приложению. В соответствии с примером быстрого запуска действия-токена-аутентификатора keycloak (https://github.com/keycloak/keycloak-quickstarts/tree/latest/action-token-authenticator ), похоже, что его можно использовать специально для этой цели.

Для потока аутентификации браузера идея заключалась бы в том, чтобы keycloak инициировал поток, сначала подтвердив имя пользователя / пароль. Если это будет успешно, мы перенаправим пользователя во внешнее приложение (предоставив ему токен действия и имя пользователя / идентификатор пользователя) для выполнения дополнительного процесса аутентификации — например, пользовательского MFA. Если внешнее приложение успешно выполняет дополнительную аутентификацию, оно затем перенаправит обратно в keycloak с помощью токена действия, чтобы возобновить и завершить процесс аутентификации, который был инициирован ранее. С помощью этого внешнего процесса входа в систему мы будем иметь полный контроль над каждым аспектом, как он может быть спроектирован / реализован.

Любые мысли / комментарии о том, является ли этот подход осуществимым, безопасным и надлежащим использованием токена действия SPI?

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