Перейти к основному содержимому

JSON Web Token

Для пользователей, выполняющих запросы к торговой системе от своего имени, обращаясь к API напрямую, доступен механизм авторизации запросов на основе стандарта JSON Web Token (JWT).

подсказка

Данный способ авторизации запросов является предпочтительным в большинстве случаев использования API.

В API торговой системы АЛОР Брокер механизм авторизации на основе JWT использует два взаимосвязанных типа токенов:

  • Access токен — краткосрочный токен доступа, использующийся для авторизации запросов. Роль этого токена — подтвердить права доступа пользователя к запрашиваемым им ресурсам системы
  • Refresh токен — долгосрочный токен обновления, использующийся для обновления токена доступа. Роль этого токена — аутентификация пользователя при создании авторизационного токена доступа
предупреждение

Токены дают доступ к системе, равносильный использованию комбинации логина и пароля торгового аккаунта. Обеспечьте их конфиденциальность.

Последовательность действий при авторизации запросов с помощью этого механизма можно описать следующим образом:

  1. Получение доступа к механизмам авторизации: Пользователь регистрирует учётную запись разработчика на портале https://alor.dev
  2. Аутентификация в качестве клиента Брокера: На странице Токены для доступа к API пользователь привязывает свой торговый аккаунт к созданной учётной записи разработчика, подтверждая тем самым своё владение указанным торговым аккаунтом
  3. Запрос Refresh токена: На той же странице пользователь нажимает кнопку Выписать токен, отправляя серверу авторизации запрос на создание долгосрочного токена обновления
  4. Получение Refresh токена: Сервер авторизации по запросу пользователя создаёт новый токен обновления, используя для этого данные привязанного торгового аккаунта. Созданный токен возвращается пользователю в виде новой записи на той же странице
  5. Запрос Access токена: Пользователь передаёт серверу авторизации запрос на создание краткосрочного токена доступа, выполняя запрос POST /authorize с указанием токена обновления в качестве значения параметра token
  6. Получение Access токена: Сервер авторизации создаёт краткосрочный токен доступа, используя полученный токен обновления и данные торгового аккаунта, для которого тот был выписан. Созданный токен возвращается пользователю в виде содержимого JSON-объекта в ответе на выполненный запрос
  7. Авторизация запросов: Пользователь применяет полученный токен доступа для авторизации выполняемых запросов, передавая его в качестве значения поля заголовка Authorization (для HTTP API) или параметра token в теле запроса (для WebSocket API)
примечание

Оба типа токенов имеют ограничение по сроку действия: для Access токена этот срок составляет 30 минут, для Refresh токена — 1 год.

В торговой системе нет технических ограничений на частоту обновлений и количество одновременно активных токенов. Тем не менее, при реализации процедуры автоматического обновления токенов рекомендуем руководствоваться принципами добросовестного использования и исключить любые действия, способные повлиять на стабильность работы системы.