Внешняя аутентификация
Авторизация
API
Инициализация процесса внешней аутентификации
POST api/external-auth/init
Request
Field | Required | Type | Description |
---|---|---|---|
provider | ✅ | string | Название провайдера аутентификации (mock, esia) |
processUuid | ✅ | string | Идентификатор процесса внешней системы |
returnUrl | ✅ | string (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
Field | Required | Type | Description |
---|---|---|---|
clientId | ✅ | numeric | ID клиента из ядра |
Response
{
"status": "ok",
"timestamp": 1656576583000,
"data": {
"processUuid": "", // Идентификатор процесса KYC на аутентификацию
"provider": "esia", // Название провайдера
"clientId": null // ID клиента, к кому прикреплен этот процесс (Проставляется отдельным методом)
}
}
Скоринг
Получение процесса авторизации по clientId
GET /api/external-auth/client/{clientId}
Request Params:
Field | Required | Type | Description |
---|---|---|---|
provider | ❌ | string(enum) | Название провайдера для фильтрации (esia , mock ) |
state | ❌ | string(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"
}
}