TOTP#

Проверка наличия TOTP#

Метод

GET https://login.company.com/blitz/api/v3/users/{subjectId}/totps

Проверка наличия у пользователя настроенного TOTP-генератор кодов подтверждения.

Необходимые разрешения: blitz_api_usec или blitz_api_sys_usec.

Возвращает

Если TOTP настроен, то в ответ будут получены его настройки.

Пример

GET /blitz/api/v3/users/d2580c98-e584-4aad-a591-97a8cf45cd2a/totps HTTP/1.1
Authorization: Bearer cNwIXatB0wk5ZHO0xG5kxuuLubesWcb_yPPqLOFWDuwzMDc0Nz
Cache-Control: no-cache
[
    {
        "id": "SW_TOTP_1_d2580c98-e584-4aad-a591-97a8cf45cd2a",
        "len": 6,
        "name": "Google Authenticator"
    }
]

Привязка TOTP#

Привязка к учетной записи пользователя TOTP-генератора осуществляется в два этапа.

Этап №1

Метод

GET https://login.company.com/blitz/api/v3/users/{subjectId}/totps/attach/qr

Запрос в Blitz Identity Provider QR-кода и строки привязки.

Необходимые разрешения: blitz_api_usec_chg или blitz_api_sys_usec_chg.

Заголовки

В пользовательском режиме необходимо передать заголовки с IP‑адресом пользователя и User-Agent.

Возвращает

Атрибуты:

  • base64QRCode – QR-код привязки генератора, который нужно отобразить пользователю;

  • base32Secret – секретная строка привязки генератора, которую нужно отобразить пользователю, если ему неудобно будет фотографировать QR-код, и он предпочтет ввести код привязки в генератор вручную.

Пример

GET /blitz/api/v3/users/d25..2a/totps/attach/qr HTTP/1.1
Authorization: Bearer cN..z
Cache-Control: no-cache
{
    "base64QRCode": "iVB…g==",
    "base32Secret": "W247OHVTPPTIAOXMGKK6Z7BZ3DEYWO74"
}

Этап №2

Метод

POST https://login.company.com/blitz/api/v3/users/{subjectId}/totps/attach/qr

Подтверждение регистрации привязки.

Необходимые разрешения: blitz_api_usec_chg или blitz_api_sys_usec_chg.

Тело запроса
  • base32Secret – секретная строка инициализации TOTP-генератора;

  • otpCode – код подтверждения, выработанный генератором по алгоритму TOTP от строки secret и текущего временного слота;

  • name – отображаемое имя TOTP-генератора (необязательно).

Возвращает
  • В случае успешного выполнения - HTTP 204 No Content.

  • В случае ошибки сервис - HTTP 400 Bad Request.

Пример

POST /blitz/api/v3/users/d2580c98..cd2a/totps/SW_TOTP_1_d2580c98..cd2a HTTP/1.1
Content-Type: application/json
X-Forwarded-For: 200.200.100.100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5)

{
    "base32Secret": "W247OHVTPPTIAOXMGKK6Z7BZ3DEYWO74",
    "name": "Google Authenticator",
    "otpCode": "123456"
}
{
    "base64QRCode": "iVB…g==",
    "base32Secret": "W247OHVTPPTIAOXMGKK6Z7BZ3DEYWO74"
}
Передан неправильный код#
{
    "type": "process_error",
    "error": "wrong_otp_code"
}

Удаление привязки#

Метод

DELETE https://login.company.com/blitz/api/v3/users/{subjectId}/totps/{id}

Удаление привязки TOTP-генератора к учетной записи пользователя.

Необходимые разрешения: blitz_api_usec_chg или blitz_api_sys_usec_chg.

URL-параметры

В качестве id указывается полученный идентификатор привязки.

Заголовки

В пользовательском режиме необходимо передать заголовки с IP‑адресом пользователя и User-Agent.

Возвращает

При успешном выполнении сервис вернет HTTP 204 No Content.

Пример

Запрос#
DELETE /blitz/api/v3/users/d..2a/totps/SW_TOTP_1_d..2a HTTP/1.1
Authorization: Bearer cN..z
X-Forwarded-For: 200.200.100.100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5)...