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

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 токена в АЛОР Брокер API используется 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 токен, что приведёт к прекращению действия всех выписанных с его помощью токенов доступа

Что дальше?

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