Перейти к основному содержимому

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

Авторизация

API

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

POST api/external-auth/init

Request

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

Response

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

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

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

API

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

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

Response

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

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

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

API

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

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

Request

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

Response

{
"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)
подсказка

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

Response:

{
"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"
}
]
}
предупреждение

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

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

GET /api/external-auth/{uuid}

Response:

{
"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"
}
}