JSON Web Token
Для пользователей, выполняющих запросы к торговой системе от своего имени, обращаясь к API напрямую, доступен механизм авторизации запросов на основе стандарта JSON Web Token (JWT).
Данный способ авторизации запросов является предпочтительным в большинстве случаев использования API.
В API торговой системы АЛОР Брокер механизм авторизации на основе JWT использует два взаимосвязанных типа токенов:
- Access токен — краткосрочный токен доступа, использующийся для авторизации запросов. Роль этого токена — подтвердить права доступа пользователя к запрашиваемым им ресурсам системы
- Refresh токен — долгосрочный токен обновления, использующийся для обновления токена доступа. Роль этого токена — аутентификация пользователя при создании авторизационного токена доступа
Токены дают доступ к системе, равносильный использованию комбинации логина и пароля торгового аккаунта. Обеспечьте их конфиденциа льность.
Последовательность действий при авторизации запросов с помощью этого механизма можно описать следующим образом:
- Получение доступа к механизмам авторизации: Пользователь регистрирует учётную запись разработчика на портале https://alor.dev
- Аутентификация в качестве клиента Брокера: На странице Токены для доступа к API пользователь привязывает свой торговый аккаунт к созданной учётной записи разработчика, подтверждая тем самым своё владение указанным торговым аккаунтом
- Запрос Refresh токена: На той же странице пользователь нажимает кнопку
Выписать токен
, отправляя серверу авторизации запрос на создание долгосрочного токена обновления - Получение Refresh токена: Сервер авторизации по запросу пользователя создаёт новый токен обновления, используя для этого данные привязанного торгового аккаунта. Созданный токен возвращается пользователю в виде новой записи на той же странице
- Запрос Access токена: Пользователь передаёт серверу авторизации запрос на создание краткосрочного токена доступа, выполняя запрос
POST /authorize
с указанием токена обновления в качестве значения параметраtoken
- Получение Access токена: Сервер авторизации создаёт краткосрочный токен доступа, используя полученный токен обновления и данные торгового аккаунта, для которого тот был выписан. Созданный токен возвращается пользователю в виде содержимого JSON-объекта в ответе на выполненный запрос
- Авторизация запросов: Пользователь применяет полученный токен доступа для авторизации выполняемых запросов, передавая его в качестве значения поля заголовка
Authorization
(для HTTP API) или параметраtoken
в теле запроса (для WebSocket API)
Оба типа токенов имеют ограничение по сроку действия: для Access токена этот срок составляет 30 минут, для Refresh токена — 1 год.
В торговой системе нет технических ограничений на частоту обновлений и количество одновременно активных токенов. Тем не менее, при реализации процедуры автоматического обновления токенов рекомендуем руководствоваться принципами добросовестного использования и исключить любые действия, способные повлиять на стабильность работы системы.