Аутентификация

Все API запросы необходимо отправлять на адрес http://<findface-ip:port>.

Аутентификация HTTP Basic

Базовая аутентификация HTTP представляет собой простой механизм аутентификации «запрос-ответ», который может использоваться сервером для запроса аутентификационной информации (имя пользователя и пароль).

Введите свои учетные данные в форму для входа в систему:

  • Username – имя пользователя вашей учетной записи FindFace Multi.

  • Password – пароль для вашей учетной записи FindFace Multi.

api_credentials_en

Эти данные должны быть переданы в заголовке запроса Authorization в виде base64 кода.

Authorization: Basic <base64(username:password)>

Авторизация API Key

Для того чтобы создать токен авторизации, используйте следующий метод:

POST /auth/login/

Предварительно вы должны предоставить основные учетные данные для авторизации (имя пользователя, пароль).

Этот метод возвращает в ответе токен авторизации, который вы можете использовать в остальных 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"}' \

Возвращает:

  • 200 – в случае успеха.

  • 400 – если тело запроса не определено.

В случае успешного ответа (О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.

api_authorization_form_en

Для того чтобы отключить примененные ключи, нажмите REMOVE или CLEAR ALL API KEYS или отправьте запрос POST /auth/logout/.