Двухфакторная аутентификация для Keycloak
Описание
При входе через Keycloak пользователи проходят двухэтапную аутентификацию: вводят логин и пароль (первый фактор) и подтверждают вход вторым фактором.
Keycloak выполняет проверку первого фактора через внутреннюю базу пользователей, LDAP или Active Directory, после чего инициирует второй фактор через плагин Simple2FA.
Схема работы:
- Пользователь открывает корпоративное приложение.
- Keycloak запрашивает логин и пароль (первый фактор).
- Keycloak проверяет корректность учётных данных через внутреннюю базу пользователей или Active Directory.
- При успешной проверке первого фактора плагин Simple2FA отправляет запрос в локальный инстанс Simple2FA.
- Локальный инстанс запрашивает у пользователя подтверждение вторым фактором.
- Пользователь подтверждает вход.
- После успешной проверки пользователь получает доступ к приложению.
Подготовка в Simple2FA
Войдите в панель администратора локального инстанса, перейдите в раздел «Настройка ресурсов» и создайте новый ресурс:
| Поле | Значение |
|---|---|
| Название | Keycloak (или любое удобное) |
| Описание | Краткое описание ресурса |
| Флаг проверки первого фактора | Отключен (первый фактор проверяется в Keycloak) |
В глобальных настройках убедитесь, что указан корректный API-ключ организации для связи локального инстанса с облаком, а сам инстанс доступен с сервера 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,
- Подтвердите вход,
- После успешной проверки доступ будет предоставлен.
Результат каждой попытки входа доступен в панели администратора, в разделе «Попытки авторизации».