Skip to Content

Описание

Авторизация и аутентификация в системе производится на основе механизма, использующего 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.