Предоставьте функцию забытого пароля в Keycloak только определенным пользователям

Мы используем Keycloak 12 для аутентификации на нашем портале, и есть два разных типа пользователей:

  1. Внутренние пользователи (считываются из нашего внутреннего LDAP)
  2. Внешние пользователи (хранятся в Keycloak, но без синхронизации с LDAP)

Теперь мы хотели бы использовать функцию «Забыть пароль», предоставляемую Keycloak. После настройки этой функции и почтового сервера она сразу же работает нормально.

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

Я пока не нашел никакой информации в документации, возможно ли это вообще?


person Robert Strauch    schedule 13.01.2021    source источник


Ответы (1)


Функция Keycloak Забыли пароль применяется на уровне области, следовательно применяется ко всем пользователям, принадлежащим Царству. Для Keycloak LDAP - это просто внешнее хранилище, в котором пользователи должны проходить аутентификацию. Следовательно, из коробки нет возможности (насколько мне известно), чтобы Forgot Password был включен только для определенных пользователей в Realm.

Даже если бы это было возможно, ИМО, это не было бы очень удобной функцией, поскольку при активации такой функции пользователям на странице входа в систему будет показана новая ссылка в случае, если они забыли свои пароли. Итак, если пользователь из LDAP щелкнет по нему, он отобразит ошибку или что-то в этом роде ?!

В качестве альтернативы вы можете настроить LDAP для так называемых внутренних пользователей в другой области, кроме той, в которой включен Forgot Password. Затем настройте вновь созданную область как внешнюю Поставщик удостоверений, который пользователи могут явно аутентифицировать с его помощью. Таким образом, на практике пользователи сдают в кредит на обычной странице входа в систему, внешние пользователи могут входить в систему в обычном режиме, и для них будет включена опция Forgot Password. Внутренние пользователи будут явно нажимать на внешнего IDP для аутентификации. Вход с использованием внешнего IDP будет таким же, как и вход на обычную страницу входа, однако опция Forgot Password отображаться не будет.

Вы можете увидеть пример такой конфигурации здесь.

person dreamcrash    schedule 13.01.2021