Как настроить потоки аутентификации с скрытыми ключами на основе запрошенной области

#authentication #oauth #keycloak #scopes

#аутентификация #oauth #keycloak #области

Вопрос:

Я пытаюсь настроить поток браузера KeyCloak, чтобы разрешить пользователям запрашивать scope1 форму пользователя / пароля, а пользователям запрашивать scope2 требование использовать форму пользователя / пароля плюс OTP. Мой вопрос состоит из двух частей:

  1. Я что-то неправильно понимаю — я удивлен, что мне приходится кодировать это самостоятельно, и это еще не доступно в Keycloak
  2. Будет ли этот описанный подход работать?

Я не хочу делать это условием для пользователя, а вместо этого для запрашиваемой области. Из того, что я могу сказать, чтобы сделать эту работу, мне нужно реализовать пользовательский ConditionalAuthenticator , а затем настроить примерно так, Condition - User Configured заменив его моей собственной реализацией.

Пример конфигурации для каждой области

Комментарии:

1. Будет ли возможность использовать роли вместо областей?

2. К сожалению, нет, мне нужно, чтобы поток аутентификации менялся в зависимости от того, что запрашивал вызывающий. Вызывающий имеет право запрашивать любую из возможных областей (у них есть все необходимые роли)

3. Меня интересует этот вопрос, если я получу ответ, я прокомментирую

Ответ №1:

Я рекомендую проверить эти ссылки:

Я пытаюсь разработать что-то вроде того, что вы хотите, в качестве альтернативы я использую HttpHeader в специальном использовании Cookie для выбора того или иного потока, возможно, эта идея может вам помочь.