Перейти к содержанию

Авторизация по токену в DeepLink API и обновление токена

Для вызова мобильного приложения Inspector Cloud из стороннего приложения нужно использовать токен для авторизации (идентификатор вызывающего приложения).

Схема использования токена

схема

Сущности

  • Inspector Cloud mobile app - мобильное приложение Inspector Cloud Camera 2, установленное на устройстве под управлением Android или iOS
  • 3rd party mobile app - стороннее мобильное приложение, установленное на том же устройстве
  • Inspector Cloud backend - бекенд сервисы приложения Inspector Cloud
  • 3rd party backend - бекенд сервисы стороннего мобильного приложения

Взаимодействия

  1. Запрос токена по API - при необходимости получить новый токен, бэкенд стороннего мобильного приложения должен выполнить POST запрос на получение токена. Процесс получения токена с использованием API бэкенда описан в разделе Получение токена
  2. Обновление информации о токенах в Inspector Cloud app - во время получения запроса на выдачу токена от бэкенда стороннего приложения, бэкенд Inspector Cloud добавляет новый токен для его использования мобильным приложением Inspector Cloud.
  3. Передача токена от 3rd party backend к 3rd party mobile app - при успешном получении токена бэкендом стороннего мобильного приложения, он должен передать токен для использования сторонним мобильным приложением. Токен следует передавать по защищенному каналу связи и принять меры против доступа к токену, хранящемуся в стороннем мобильном приложении.
  4. Вызов DeepLink API - стороннее мобильное приложение всегда использует самый новый полученный токен для вызова приложения Inspector Cloud. Приложение Inspector Cloud позволяет авторизацию любым из действующих токенов, а так же авторизацию в режиме офлайн. В DeepLink API токен передается параметром DeepLinkConst.Parameters.TOKEN.

Полученный в шаге 1 токен так же можно использовать для выполнения запросов к API, кроме получения токена, между бэкендом стороннего мобильного приложения и бэкендом Inspector Cloud.

Получение токена

Для выполнения запросов на получения токена бэкенду стороннего мобильного приложения выдается мастер-ключ. Мастер ключ можно запросить у вашего аккаунт менеджера. Мастер-ключ обновляется только вручную.

Запрос

Для получения нового токена бэкенд стороннего приложения должен сделать POST запрос к endpoint /api/auth/v1.0/get_token/ бэкенда Inspector Cloud, с использованием мастер-ключа. Мастер-ключ передается в поле Authorization заголовка запроса.
Пример поля Authorization:
Token XXXXX

Важно, url в запросе должен заканчиваться /. Тело запроса должно быть пустое.

Ответ

Код успешного ответа 201. Ответ на запрос возвращается в формате json и будет содержать следующие поля:
token - в этом поле передается новый токен.
created_at - дата и время создания токена, с этого времени токен считается активным. Дата и время возвращаются в формате UTC.
expires_at - дата и время окончания действия токена. Дата и время возвращаются в формате UTC.

Пример запроса с ответом

схема

Отзыв токена

Для прекращения действия токена до истечения его срока жизни, его можно отключить выполнив POST запрос к API бэкенда Insector Cloud.

Запрос

Запрос необходимо выполнить c использованием мастер-ключа к endpoint /api/auth/v1.0/revoke_token/, запрос выполняется в формате json, и тело запроса должно содержать поле token.

Ответ

Коды ответа:
200 - запрос успешно выполнен
404 - токен не найден

В случае успешного выполнения запроса, тело ответа будет содержать поле SUCCESS со значением true. Если в процессе выполнения запроса появились ошибки, поле SUCCESS будет содержать значение false.

Срок действия токена

Дата окончания токена явно сообщается в ответе на get_token. Бэкенд стороннего мобильного приложения должен самостоятельно обновлять токен до истечения срока действия предыдущего. Для авторизации стороннего мобильного приложения в приложении Inspector Cloud можно использовать любой валидный токен. Мы рекомендуем получать новый токен заранее не дожидаясь завершения срока действия предыдущего, чтобы успеть распространить новый токен во все установленные экземпляры стороннего мобильного приложения до того как закончится срок действия старого токена.