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
.
В качестве 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)...