Инструменты пользователя

Инструменты сайта


iis-device-2fa

Это старая версия документа!


Схема взаимодействия ЕСИА с мобильным приложением

Аутентификация

Расположение:

POST /Device/Api/V1/Account/Login

Тело запроса:

{
  "username": "логин пользователя (ИНН)",
  "password": "пароль",
  "deviceId": "уникальный идентификатор устройства с помощью которого осуществляется вход",
  "deviceName": "наименование устройства для отображения в его личном кабинете"
}

Ответ:

{
  "requestId":"идентификатор запроса сгенерированный на стороне сервера",
  "body": "тело ответа",
  "succeeded":"флаг ошибки (в случае если ошибка не имеет никакого отношения к бизнес-логике самого API)",
  "errors" : [
    {
      "Code": "код ошибки (не число)",
      "Message": "описание ошибки"
    }
  ]
}

Тело ответа может принимать следующие значения в зависимости от результата аутентификации:

Успешная аутентификация:

{
  "signInResult":"Succeeded",
  "persistentSessionToken": "токен постоянной сессии который нужно сохранить на устройстве самым безопасным образом"
}

Требуется двух-факторная аутентификация:

{
  "signInResult":"RequiresTwoFactor",
  "twoFactorSessionToken" : "токен для временной сессии на период двух-факторной аутентификации (токен валиден в течение 30 минут)"
}

Неправильный логин или пароль:

{
  "signinResult":"InvalidLoginAttempt"
}

Аккаунт заблокирован в результате нескольких попыток неправильного входа:

{
  "signinResult":"InvalidLoginAttempt"
}

Привязка устройства к аккаунту

Расположение:

POST /Identity/Api/Device/Bind

Авторизация: ОБЯЗАТЕЛЬНА (this endpoint requires access_token)

Запрос:

{
   "deviceId": "Уникальный идентификатор устройства",  
   "deviceName": "Наименование устройства, чтобы пользователь мог распознать его в личном кабинете"
}

Ответ при успешной операции (код статуса 200):

{
   "id":"Код привязки"  
}

Код привязки нужно сохранить в устройстве

Ответ при ошибках имеет следующую структуру:

{
  "requestId":"идентификатор сообщения",
  "succeeded":"false",
  "errors": [
      {
         "code":"код ошибки",
         "message":"сообщение"
      }
  ]
}

Отправка отсканнированного значения qr-code на сервер

Расположение:

POST /Identity/Api/Device/OnQrCodeScanned

Авторизация: НЕ ТРЕБУЕТСЯ

{
  "id":"Код привязки",
  "code":"Значение QR-код"
}

Ответ при успешной операции (статус 200)

{
  "requestId":"идентификатор запроса",
  "succeeded":"true"
}
iis-device-2fa.1597982828.txt.gz · Последние изменения: 2020/08/21 04:07 — admin1