Настройка отправки одноразового пароля (OTP)#

Существует несколько сценариев настройки аутентификации с помощью одноразовых паролей (OTP):

  • С помощью внешних генераторов OTP (Google Authentificator, FreeOTP);

  • Отправка OTP через почту или SMS-сообщение (kcse-code-authenticator);

  • Встроенный генератор OTP с отправкой через @900 (kcse-sbersms).

Настройки отправки одноразового пароля через внешний генератор OTP#

На вкладке "Аутентификация" -> "Политики OTP" необходимо задать настройки:

OTPSettings

  • Тип одноразового пароля 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.

Для настройки данного модуля необходимо:

  1. Создать Realm <Название_Realm>;

  2. На вкладке Client Scopes необходимо добавить новый Scope <Имя_scope> (Например, https://api.sberbank.ru/sendSMS);

  3. Создать пользователя <Имя_пользователя> (Например, 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, пользователю.

  1. После сохранения появится вкладка "Credentials". На ней необходимо выбрать в качестве Client Authenticator "Client Id and Secret", а затем в поле Secret сразу или после нажатия кнопки Regenerate появится <Client_Secret>.

  2. Задать следующие переменные окружения: Для настройки сервиса 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