Вход разовым паролем на основе времени (TOTP)#

Для проверки первого фактора аутентификации с использованием метода аутентификации Разовый пароль на основе времени (TOTP) можно использовать любые устройства и программы, совместимые со стандартом RFC6238 «TOTP: Time-Based One-Time Password Algorithm». В качестве таковых могут быть:

  • аппаратные брелоки (генераторы разовых паролей) на основе времени;

  • мобильные приложения.

    Примечание

    Наиболее известные приложения для выработки TOTP-кодов: Google Authenticator, Twilio Authy, FreeOTP Authenticator, Microsoft Authenticator, Яндекс.Ключ.

Для настройки метода входа по Разовому паролю на основе времени (TOTP) выполните описанную ниже последовательность действий.

Шаг 1. Добавление метода в blitz.conf#

Для того, чтобы в методах аутентификации на вкладке Первый фактор появился метод аутентификации Разовый пароль на основе времени (TOTP), выполните следующие действия:

  1. Откройте файл /usr/share/identityblitz/blitz-config/blitz.conf.

    sudo vim /usr/share/identityblitz/blitz-config/blitz.conf
    
  2. В разделе blitz.prod.local.idp.login.factors в первый фактор добавьте:

    "login" : {
        "factors" : [
            [
                {
                    "enabled" : false,
                    "method" : "totp"
                },
                …
            ],
            [
                …
            ]
        ],
        …
    }
    
  3. В разделе blitz.prod.local.idp.login.methods.totp необходимо сменить конфигурацию на профилированную, а также убрать поля android-download-url, ios-download-url, windows-download-url, issuer-label, user-label-attr (эти поля перемещаются в другой раздел файла конфигурации):

    "totp": {
        "profiles": {
            "1": {
                "look-ahead-depth": 10,
                "look-backward-depth": 10,
                "tempLockAfter": 10,
                "tempLockForMin": 15
            },
            "2": {
                "look-ahead-depth": 10,
                "look-backward-depth": 10,
                "tempLockAfter": 10,
                "tempLockForMin": 15
            }
        }
    }
    
  4. Переместите поля android-download-url, ios-download-url, issuer-label, user-label-attr в отдельный раздел blitz.prod.local.idp.totp. Удалите поле windows-download-url: оно не поддерживается. Пример конфигурационного файла:

    "totp": {
        "android-download-url": "https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2",
        "ios-download-url": "https://itunes.apple.com/us/app/google-authenticator/id388497605?mt=8",
        "issuer-label": "Blitz IDP",
        "look-ahead-depth": 15,
        "look-backward-depth": 15,
        "user-label-attr": "email"
    }
    
  5. Перезапустите сервисы.

    sudo systemctl restart blitz-idp blitz-console blitz-recovery
    

Шаг 2. Настройка метода в консоли#

В консоли управления настройте и активируйте метод входа по TOTP. Для этого перейдите в раздел Аутентификация на вкладку Первый фактор. В разделе Разовый пароль на основе времени (TOTP) задайте следующие настройки:

  • Для корректной идентификации пользователя укажите, каким образом должен формироваться логин и какому атрибуту в источнике данных он соответствует.

  • Общее количество попыток: общее число попыток ввода кода подтверждения, после которого способ аутентификации будет временно заблокирован.

  • Время блокировки при превышении попыток, в минутах: в течение указанного времени способ аутентификации будет недоступен пользователю.

../_images/login-totp.png