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

Access токен

Контуры системы

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

Access токен — токен доступа с коротким сроком действия, создаваемый пользователем API с помощью ранее созданного Refresh токена.

Роль этого токена — авторизация запросов в адрес сервера API, выполняемых пользователем от своего имени.

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

предупреждение

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


Создание токена​

Для создания Access токена используется POST-запрос к конечной точке /refresh сервера авторизации. Запрос должен содержать действующий Refresh токен в качестве значения параметра token. При этом передать этот параметр можно как в пути запроса (как Query), так и в его теле (как Body).

подсказка

Используйте что-то одно. При одновременном заполнении Query и Body приоритет отдаётся последнему.

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

Ресурс
https://oauth.alor.ru/refresh?token=12b...cac&allowedPortfolios=["Portfolio1", "Portfolio2", "Portfolio3"]

Где:

  • 12b...cac — действующий Refresh токен;
  • Portfolio1, Portfolio2 и Portfolio3 — портфели, доступ к которым должен предоставлять создаваемый Access токен.

В ответ сервер авторизации вернёт JSON-объект, содержащий Access токен:

{
"AccessToken": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImN0eSI6IkpXVCJ9.eyJzdWIiOiJMb2dpblNhbXBsZSIsImVudCI6ImNsaWVudCIsImVpbiI6IjAxMjM0IiwiY2xpZW50aWQiOiIwMTIzNDU2IiwiYXpwIjoiMDEyMzQ1Njc4OWFiY2RlZjAxMjMiLCJhZ3JlZW1lbnRzIjoiQWdyZWVtZW50U2FtcGxlMSBBZ3JlZW1lbnRTYW1wbGUyIEFncmVlbWVudFNhbXBsZTMiLCJwb3J0Zm9saW9zIjoiUG9ydGZvbGlvU2FtcGxlMSBQb3J0Zm9saW9TYW1wbGUyIFBvcnRmb2xpb1NhbXBsZTMiLCJzY29wZSI6Ik9yZGVyc1JlYWQgT3JkZXJzQ3JlYXRlIFRyYWRlcyBQZXJzb25hbCBTdGF0cyIsImV4cCI6Mjg3MTc2MzE5OSwiaWF0IjowLCJpc3MiOiJBbG9yLklkZW50aXR5IiwiYXVkIjoiQ2xpZW50IFdBUlAgV2FycEFUQ29ubmVjdG9yIHN1YnNjcmlwdGlvbnNBcGkgQ29tbWFuZEFwaSBJbnN0cnVtZW50QXBpIFRyYWRpbmdWaWV3UGxhdGZvcm0ifQ.QOQVMIAoZ6SnF5urnIzJ0EvtQd9P5Sx355069kXoID207wHOTW0wkKNMcrIKXmENEQQ_0yDjqH_kjeqWLBJuqA"
}

Полученный токен будет действителен в течение 30 минут с момента создания, если использовавшийся при создании Refresh токен не будет отозван раньше.

Интерактивное описание

Для запроса на обновление Access токена доступно интерактивное описание на странице Обновление JWT токена.


Отзыв токена​

Возможность отзыва отдельно выбранного Access токена до истечения срока его действия не предусмотрена. Единственным способом досрочного прекращения действия Access токена является отзыв использовавшегося при его создании Refresh токена.


Чтение токена​

В качестве Access токена в АЛОР Брокер используется JWT Token — зашифрованный JSON-объект, содержащий в себе информацию как о самом токене (дата создания, срок действия, параметры заголовка), так и о пользователе API, по чьему запросу он был выписан — торговый логин, списки прав доступа и портфелей, список доступных для вызова ресурсов. В связи с этим рекомендуется сохранять конфиденциальность Access токенов даже после завершения их срока действия.

Без знания секретного ключа полностью дешифровать и/или подменить токен невозможно. Тем не менее, при частичном дешифровании можно прочесть полезную нагрузку, передаваемую серверу API при выполнении запроса.

Пример токена и его содержимого:

eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImN0eSI6IkpXVCJ9.eyJzdWIiOiJMb2dpblNhbXBsZSIsImVudCI6ImNsaWVudCIsImVpbiI6IjAxMjM0IiwiY2xpZW50aWQiOiIwMTIzNDU2IiwiYXpwIjoiMDEyMzQ1Njc4OWFiY2RlZjAxMjMiLCJhZ3JlZW1lbnRzIjoiQWdyZWVtZW50U2FtcGxlMSBBZ3JlZW1lbnRTYW1wbGUyIEFncmVlbWVudFNhbXBsZTMiLCJwb3J0Zm9saW9zIjoiUG9ydGZvbGlvU2FtcGxlMSBQb3J0Zm9saW9TYW1wbGUyIFBvcnRmb2xpb1NhbXBsZTMiLCJzY29wZSI6Ik9yZGVyc1JlYWQgT3JkZXJzQ3JlYXRlIFRyYWRlcyBQZXJzb25hbCBTdGF0cyIsImV4cCI6Mjg3MTc2MzE5OSwiaWF0IjowLCJpc3MiOiJBbG9yLklkZW50aXR5IiwiYXVkIjoiQ2xpZW50IFdBUlAgV2FycEFUQ29ubmVjdG9yIHN1YnNjcmlwdGlvbnNBcGkgQ29tbWFuZEFwaSBJbnN0cnVtZW50QXBpIFRyYWRpbmdWaWV3UGxhdGZvcm0ifQ.QOQVMIAoZ6SnF5urnIzJ0EvtQd9P5Sx355069kXoID207wHOTW0wkKNMcrIKXmENEQQ_0yDjqH_kjeqWLBJuqA

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


Особенности и ограничения​

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

  • Срок действия токена ограничен и равен 30 минутам с момента создания. Предусмотрите в клиенте API механизм обновления Access токена
  • Для создания токена используется запрос к HTTP API. Других способов создания токена, включая обращение к WebSocket API, не предусмотрено
  • Количество Access токенов, создаваемых из одного Refresh токена, не ограничено
  • В роли Access токена выступает JWT токен — зашифрованный JSON-объект, содержащий данные о портфелях и правах доступа к торговой системе. Не рекомендуется публиковать Access токены в открытый доступ, даже если срок их действия истёк
  • Нельзя вручную отозвать отдельно выбранный Access токен. Для досрочного прекращения действия токена потребуется отозвать использовавшийся при создании Refresh токен, что приведёт к прекращению действия всех выписанных с его помощью токенов доступа

Что дальше?​

Дополнительно рекомендуем ознакомиться со следующими статьями по теме: