Skip to content

Внешняя аутентификация

Авторизация

API

Инициализация процесса внешней аутентификации

POST api/external-auth/init

Request

FieldRequiredTypeDescription
providerstringНазвание провайдера аутентификации (mock, esia)
processUuidstringИдентификатор процесса внешней системы
returnUrlstring (url)URL для возврата после завершения процесса аутентификации

Response

json
{
  "status": "ok",
  "timestamp": 1656576583000,
  "data": {
    "processUuid": "", // Идентификатор процесса KYC на аутентификацию
    "provider": "esia", // Название провайдера
    "clientId": null, // ID клиента, к кому прикреплен этот процесс (Проставляется отдельным методом)
    "redirectUrl": "" // Ссылка для перенаправления клиента
  }
}

:::caution Если в процессе авторизации возникла ошибка, то KYC перенаправит клиента на returnUrl с параметрами errorCode и errorMessage :::

Передача данных

API

GET api/external-auth/{uuid}/fetch

где uuid - Идентификатор процесса KYC на аутентификацию

Response

json
{
  "status": "ok",
  "timestamp": 1656575289000,
  "data": {
    "userOID": "", // Идентификатор пользователя а провайдере аутентификации
    "data": {} // Полученные данные из провайдера замапленные на объект клиента ядра
  }
}

Создание клиента

После входа клиента в ЛК провайдера аутентификации

API

PUT api/external-auth/{uuid}/attach

где uuid - Идентификатор процесса KYC на аутентификацию

Request

FieldRequiredTypeDescription
clientIdnumericID клиента из ядра

Response

json
{
  "status": "ok",
  "timestamp": 1656576583000,
  "data": {
    "processUuid": "", // Идентификатор процесса KYC на аутентификацию
    "provider": "esia", // Название провайдера
    "clientId": null // ID клиента, к кому прикреплен этот процесс (Проставляется отдельным методом)
  }
}

Скоринг

Получение процесса авторизации по clientId

GET /api/external-auth/client/{clientId}

Request Params:

FieldRequiredTypeDescription
providerstring(enum)Название провайдера для фильтрации (esia, mock)
statestring(enum)Статус процесса (pending, finished, failed)

TIP

Процессы возвращаются по убыванию дате создания.

Response:

json
{
  "status": "ok",
  "timestamp": 1692953997000,
  "data": [
    {
      "clientId": 353,
      "uuid": "96aa2533-4157-4bb6-86ba-56ca884de86e",
      "provider": "esia",
      "state": "finished",
      "userOid": "1000550149",
      "2factorAuthentication": "otp",
      "created_at": "2022-06-30T08:45:27.000000Z",
      "updated_at": "2022-06-30T09:09:35.000000Z"
    },
    {
      "clientId": 353,
      "uuid": "96a824aa-dd1e-4052-b279-e5cd583ea184",
      "provider": "esia",
      "state": "finished",
      "userOid": "1000299656",
      "2factorAuthentication": null,
      "created_at": "2022-06-29T08:52:18.000000Z",
      "updated_at": "2022-06-29T08:53:08.000000Z"
    },
    {
      "clientId": 353,
      "uuid": "9651ecaf-53a3-42d6-b003-f0dacfe15056",
      "provider": "mock",
      "state": "finished",
      "userOid": null,
      "created_at": "2022-05-17T12:14:34.000000Z",
      "updated_at": "2022-05-17T12:14:43.000000Z"
    }
  ]
}

:::caution Для процессов провайдера esia, добавляется поле 2factorAuthentication = tokenData.acr.2fa :::

Получение процесса авторизации по uuid

GET /api/external-auth/{uuid}

Response:

json
{
  "status": "ok",
  "timestamp": 1692953997000,
  "data": {
    "clientId": 353,
    "uuid": "96aa2533-4157-4bb6-86ba-56ca884de86e",
    "provider": "esia",
    "state": "finished",
    "userOid": "1000550149",
    "2factorAuthentication": "otp",
    "created_at": "2022-06-30T08:45:27.000000Z",
    "updated_at": "2022-06-30T09:09:35.000000Z"
  }
}