Поток Keycloak, чтобы разрешить только авторизованные учетные записи - PullRequest
0 голосов
/ 22 ноября 2018

Я хотел бы настроить федерацию Google с помощью Keycloak, но только для авторизованных пользователей в моей компании.

Настройка федерации Google позволяет любой учетной записи Google войти в систему.

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

  1. Вместо автоматического создания учетной записи, когда кто-то пытается войти, требуется учетная запись с точно такой жеадрес электронной почты / имя пользователя уже существует, и просто связывайте их на основе адреса электронной почты, когда этот конкретный пользователь пытается войти в систему.

  2. Автоматически создавать учетную запись при первом входе пользователя в систему с помощью Google, однако связать ихтребуется, чтобы администратор вручную активировал учетную запись, прежде чем ее можно будет использовать

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

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

Я что-то пропустил?Нет ли другого варианта, кроме как вручную создать учетную запись и связать ее для каждого отдельного пользователя (или написать свой собственный аутентификатор, которого я пытаюсь избежать)?

1 Ответ

0 голосов
/ 25 ноября 2018

Вы можете реализовать пользовательское действие формы.Это проще, чем вы ожидаете.

Если вы не хотите писать код, вы можете использовать действие формы «скрипт», которое уже доступно.Вы можете добраться до него следующим образом:

Аутентификация -> Выберите «Первый вход в систему брокера» в выпадающем меню -> Сделать его копию (Создание копии позволяет вам ее редактировать).Теперь нажмите «Добавить исполнение» и выберите «Сценарий».Переместите его вверх, чтобы это было первое действие формы в вашем потоке.Установите переключатель в положение «ОБЯЗАТЕЛЬНО» и перейдите к действиям -> config.Теперь в сценарии вы можете проверить имя пользователя или адрес электронной почты на соответствие шаблону (может быть, доменное имя вашей компании), если поиск по шаблону не удастся, вы можете вызвать метод context.failure (..), который уже доступен вскрипт по умолчанию.

Убедитесь, что вы выбрали этот (новый) логин первого брокера в конфигурации вашего провайдера идентификации.

...