Аутентификация HTTP Basic
Базовая аутентификация HTTP представляет собой простой механизм аутентификации «запрос-ответ», который может использоваться сервером для запроса аутентификационной информации (имя пользователя и пароль).
Введите свои учетные данные в форму для входа в систему:
Эти данные должны быть переданы в заголовке запроса Authorization
в виде base64 кода.
Authorization: Basic <base64(username:password)>
Авторизация API Key
Для того чтобы создать токен авторизации, используйте следующий метод:
Предварительно вы должны предоставить основные учетные данные для авторизации (имя пользователя, пароль).
Этот метод возвращает в ответе токен авторизации, который вы можете использовать в остальных API методах.
Если система использует авторизацию по лицу и паролю, то вместе с заголовком базовой авторизации дополнительно передайте токен, полученный во время авторизации по лицу, в поле video_auth_token.
Тело запроса является обязательным и содержит объект в формате application/json со следующими параметрами:
Совет
* - обозначает обязательные параметры.🆁 – только для чтения.
Параметры |
Схема JSON |
Описание |
video_auth_token
|
string |
Ограничения: Минимум 1 символ. Неактивный токен при авторизации лицом. Требуется, если задано face_and_password. |
uuid*
|
string |
Ограничения: от 1 до 256 символов. Уникальный идентификатор сессии на устройстве. |
mobile
|
boolean |
Устройство мобильное. |
device_info
|
<any-key>: str┃int┃float┃bool┃object┃array┃null |
Информация об устройстве. |
Пример запроса
{
"video_auth_token": "A",
"uuid": "A",
"mobile": false,
"device_info": {}
}
CURL пример
curl -X POST "http://<findface-ip:port>/auth/login/" \
-H "Accept: application/json" \
-H "Content-Language: ru" \
-H "Accept-Language: ru" \
-H "Authorization: Basic <base64(username:password)>" \
-H "Content-Type: application/json" \
-d '{"uuid":"A"}' \
Возвращает:
В случае успешного ответа (ОK: 200), возвращается объект со следующими параметрами. Пример.
Пример ответа
Параметры |
Схема JSON |
Описание |
token*
|
string |
Токен авторизации. |
user*
|
{…} |
Информация о пользователе. |
token_expiration_datetime*
|
date-time |
Дата и время истечения срока действия токена. |
user
содержит следующие параметры:
id*
: integer 🆁
active*
: boolean
created_date*
: date-time 🆁
groups
: [integer]
modified_date*
: date-time 🆁 – Дата и время изменения объекта.
permissions*
: [string]
real_name*
: string – Ограничения: максимум 80 символов.
name*
: string – Максимум 80 символов.
comment
: string – Расширенное описание пользователя, до 2048 символов.
camera_group_permissions*
: {<any-key>: string}
watch_list_permissions*
: {<any-key>: string}
group_permissions*
: {<any-key>: string}
primary_group*
: integer
language
: enum – Допустимые значения: en-us┃es┃ru. Язык пользовательского интерфейса.
has_face*
: boolean 🆁 – Фотография пользователя предоставлена.
face_cover
: string┃null – Ограничения: Максимум 32 символа.
ad_user*
: boolean 🆁 – Пользователь зарегистрирован в Active Directory.
Пример ответа
{
"token": "string",
"user": {
"id": 0,
"active": false,
"created_date": "1970-01-01T00:00:00.000Z",
"groups": [
0
],
"modified_date": "1970-01-01T00:00:00.000Z",
"permissions": [
"string"
],
"real_name": "AAAAAA",
"name": "AAAAAA",
"comment": "AAAAAA",
"camera_group_permissions": {},
"watch_list_permissions": {},
"group_permissions": {},
"primary_group": 0,
"language": "en-us",
"has_face": false,
"face_cover": "AAAAAA",
"ad_user": false
},
"token_expiration_datetime": "1970-01-01T00:00:00.000Z"
}
Вставьте полученный токен в поле API Key
формы для авторизации: Token <token>
и нажмите SET или отправьте в заголовке авторизации: Authorization: Token 000...
. Все запросы, которые не могут предоставить действительный токен аутентификации, приведут к ошибке авторизации HTTP 401.
Для того чтобы отключить примененные ключи, нажмите REMOVE или CLEAR ALL API KEYS или отправьте запрос POST /auth/logout/
.