Настройка отправки одноразового пароля (OTP)#
Существует несколько сценариев настройки аутентификации с помощью одноразовых паролей (OTP):
С помощью внешних генераторов OTP (Google Authentificator, FreeOTP);
Отправка OTP через почту или SMS-сообщение (kcse-code-authenticator);
Встроенный генератор OTP с отправкой через @900 (kcse-sbersms).
Настройки отправки одноразового пароля через внешний генератор OTP#
На вкладке "Аутентификация" -> "Политики OTP" необходимо задать настройки:

Тип одноразового пароля OTP:
Основан на счетчике (Counter-based OTP (HOTP)) - генерация основанная на событии;
Основан на времени (Time-based OTP (TOTP)) - генерация основанная на времени.
Алгоритм хэша OTP (SHA1, SHA256, SHA512);
Количество цифр;
Lock Arount Windows;
Время жизни токена OTP (Период токена OTP).
На вкладке "Аутентификаторы" -> "Сценарии" необходимо добавить в сценарий один из провайдеров/исполнений для аутентификации с использованием OTP:
Conditional OTP Form;
OTP;
OTP Form;
Reset OTP.
Пользователь получает код в приложении (Google Authentificator, FreeOTP). Подробную информацию о данных провайдерах/исполнениях и о сценариях использования OTP можно уточнить в Руководстве по безопасности -> Идентификация и аутентификация.
Настройка модуля отправки ОТP через kcse-code-authenticator#
Для настройки аутентификации с использованием одноразовых паролей через kcse-code-authentificator необходимо на вкладке "Аутентификаторы" -> "Сценарии" необходимо добавить провайдер/исполнение Code-Time Authentificator. Данное исполнение содержит следующие настройки:
Отправка с помощью (email, sms)
Длина кода
Время действия кода
Подробную информацию о данных провайдерах/исполнениях и о сценариях использования OTP можно уточнить в Руководстве по безопасности -> Идентификация и аутентификация.
Настройка модуля отправки ОТP через @900 (kcse-sbersms)#
Модуль kcse-sbersms отвечает за отправку сообщений в @900.
Для настройки данного модуля необходимо:
Создать Realm <Название_Realm>;
На вкладке Client Scopes необходимо добавить новый Scope <Имя_scope> (Например, https://api.sberbank.ru/sendSMS);
Создать пользователя <Имя_пользователя> (Например, testSmsClient) c параметрами:
Client Protocol - openid-connect;
Access Type - confidential;
Standard Flow Enabled - ON;
Implicit Flow Enabled - ON;
Direct Access Grants Enabled - ON;
Service Accounts Enabled - ON;
OAuth 2.0 Device Authorization Grant Enabled - ON;
Authorization Enabled - ON;
Valid Redirect URIs - *;
На вкладке Client Scopes добавьте <Имя_scope>, который был создан на шаге 2, пользователю.
После сохранения появится вкладка "Credentials". На ней необходимо выбрать в качестве Client Authenticator "Client Id and Secret", а затем в поле Secret сразу или после нажатия кнопки Regenerate появится <Client_Secret>.
Задать следующие переменные окружения: Для настройки сервиса sms аутентификации необходимо задать следующие параметры:
KCSE_SMS_AUTH_CLIENT_ID: <Имя_пользователя> (из п.3)
KCSE_SMS_AUTH_CLIENT_SECRET: <Client_Secret> (из п.4)
KCSE_SMS_AUTH_SCOPE: <Имя_scope> (из п.3)
Адрес для аутентификации перед отправкой SMS:
KCSE_SMS_AUTH_SERVICE_ADDR: <https://АДРЕС_ДЛЯ_АУТЕНТИФИКАЦИИ_ПЕРЕД_ОТПРАВКОЙ_SMS_СООБЩЕНИЙ>
Для настройки сервиса отправки sms необходимо задать следующие параметры:
Адрес для отправки SMS (Интеграция с @900):
KCSE_SMS_SERVICE_ADDR: https://<АДРЕС_ДЛЯ_ОТПРАВКИ_SMS_СООБЩЕНИЙ>
Количество символов в SMS:
KCSE_SMS_COUNT_DIGIT: 6
Прочие параметры:
KCSE_SMS_SUBSYSTEM_CODE: sberapi.sberId
KCSE_SMS_OPERATION_NAME: SendClientNotificationsRq
KCSE_SMS_SC_NAME: urn:sbrfsystems:99-sberapi
KCSE_SMS_SP_NAME: urn:sbrfsystems:99-900
KCSE_SMS_SERVICE_NAME: SrvSendClientNotification
KCSE_SMS_SERVICE_NAMESPACE: srv://sbg.sbr/ucn
KCSE_SMS_SERVICE_VERSION: 002
KCSE_SMS_MSG_TYPE: "SberIdLoginConfirmed"
KCSE_SMS_VERSION_ID: "2.0"
KCSE_SMS_BUSINESS_PARAM_NAME: "code"
KCSE_SMS_TECH_PARAM_NAME: subSystemCode