Описание
При входе через Keycloak пользователи проходят двухэтапную аутентификацию: вводят логин и пароль (первый фактор) и подтверждают вход с помощью второго фактора (Push-уведомление, TOTP или Telegram-бот).
Keycloak выполняет проверку первого фактора через внутреннюю базу пользователей, LDAP или Active Directory, после чего инициирует второй фактор через плагин Simple2FA.
Схема работы:
- Пользователь открывает корпоративное приложение.
- Keycloak запрашивает логин и пароль (первый фактор).
- Keycloak проверяет корректность учётных данных через внутреннюю базу пользователей или Active Directory.
- При успешной проверке первого фактора плагин Simple2FA отправляет запрос в локальный инстанс Simple2FA.
- Локальный инстанс инициирует проверку второго фактора через облако Simple2FA.
- Пользователь подтверждает вход с помощью Push, TOTP или Telegram-бота.
- После успешной проверки пользователь получает доступ к приложению.
Подготовка в Simple2FA
Войдите в административную панель локального модуля Simple2FA. Перейдите в раздел «Настройка ресурсов» и создайте новый ресурс:
- Название: Keycloak (или любое удобное)
- Описание: краткое описание ресурса
- Флаг проверки первого фактора: отключен (первый фактор проверяется в Keycloak)
В глобальных настройках убедитесь, что:
- указан корректный API key для связи локального модуля с облаком,
- локальный модуль доступен с сервера Keycloak по сети.
Настройка Keycloak
1) Установите плагин Simple2FA
- Загрузите плагин Simple2FA для Keycloak,
- Скопируйте JAR-файл плагина в директорию providers сервера Keycloak.
2) Настройте параметры подключения
- Откройте файл конфигурации плагина,
- Укажите URL локального инстанса Simple2FA,
- Укажите API key ресурса,
- При необходимости настройте таймауты и параметры HTTPS.
3) Перезапустите Keycloak
- После установки плагина выполните перезапуск сервера Keycloak.
4) Настройте Authentication Flow
- Откройте административную панель Keycloak,
- Перейдите в раздел Authentication → Flows,
- Создайте новый flow или скопируйте существующий browser-flow,
- Добавьте шаг аутентификации Simple2FA после проверки логина и пароля,
- Установите требование Required для шага Simple2FA.
5) Назначьте flow
- Перейдите в раздел Authentication → Bindings,
- Назначьте созданный flow в качестве Browser Flow.
Проверка работы
- Откройте приложение, использующее Keycloak для аутентификации,
- Введите логин и пароль,
- Дождитесь запроса второго фактора от Simple2FA,
- Подтвердите вход,
- После успешной проверки доступ будет предоставлен.