Описание
Авторизация и аутентификация в системе реализованы на основе JWT (JSON Web Token).
Токен генерируется и подписывается секретным ключом в сервисе Api.Auth при авторизации и обновлении токена. Задача клиента при взаимодействии с API — получать актуальный токен и передавать его в заголовке Authorization при каждом запросе.
Пример:
POST /inference/smartOcr HTTP/1.1
Host: ai-server-endpoint:44392
modelType: anytext
Accept: text/plain
Authorization: Bearer ВАШ_ТОКЕН
Content-Length: 220
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="/C:/doc.jpg"
Content-Type: image/jpeg
(data)
------WebKitFormBoundary7MA4YWxkTrZu0gW--
Цикл жизни токена
По умолчанию токен выдается на 12 часов. Этот параметр настраивается в конфигурации сервиса Api.Auth:
"Security": {
"Jwt": {
...
"SessionLifetimeMin": 720
...
},
...
}Клиент самостоятельно контролирует срок действия токена.
Если срок жизни токена подходит к завершению, необходимо обновить токен.
Если токен уже истёк и сервис возвращает ошибку 401 Unauthorized, требуется повторно выполнить авторизацию.
Авторизация
Авторизация выполняется методом POST /auth/Account.
В теле запроса в формате JSON передаются логин и пароль:
POST /auth/Account HTTP/1.1
Host: ai-server-endpoint:44392
Content-Type: application/json
Content-Length: 52
{
"userName": "admin",
"password": "Qwe123!@#"
}В ответ возвращается JSON с токеном в поле token:
{
"token": "ВАШ_ТОКЕН",
"fullName": "Admin",
"permissions": ["1","2","3"],
"tenantId": "",
"tenantName": null,
"crossTenant": false,
"isAdmin": true
}Полученный токен необходимо передавать в заголовке: Authorization: Bearer ВАШ_ТОКЕН.
Обновление токена
Обновление токена выполняется методом POST /auth/Account/RefreshToken.
Текущий токен передается в заголовке Authorization:
POST /auth/Account/RefreshToken HTTP/1.1
Host: ai-server-endpoint:44392
Content-Type: application/json
Authorization: Bearer ТЕКУЩИЙ_ТОКЕН
Content-Length: 25В ответ возвращается структура, аналогичная методу авторизации.
Что дальше
Отправляйте запрос Умного OCR.