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

Авторизация в тестовом контуре

подсказка

Данная статья описывает основные особенности авторизации в Тестовом контуре. Пошаговая инструкция по авторизации и работе с этим контуром системы описана в руководстве по быстрому старту

Для авторизации запросов к API требуется торговый аккаунт, от имени которого будут выполняться операции. В Боевом контуре роль торгового аккаунта выполняет учётная запись клиента АЛОР Брокер с настоящими портфелями и позициями в них. Так как Тестовый контур работает с симуляционными данными, использование настоящего торгового аккаунта в нём невозможно.

Авторизация запросов к этому контуру системы выполняется с помощью тестового торгового аккаунта, предоставляемого пользователям по запросу, что создаёт различия в процессе авторизации в сравнении с Боевым контуром.

подсказка

Тестовый контур поддерживает авторизацию только с помощью механизма JWT. Сервис OAuth недоступен для этого контура.


Учётная запись разработчика

Создание учётной записи разработчика необходимо для авторизации запросов к API независимо от того, к какому контуру системы будут направлены запросы.

Процесс создания и возможности управления учётной записью разработчика описаны в посвящённой этому статье.


Получение торгового аккаунта

Чтобы получить тестовый торговый аккаунт или изменить список относящихся к нему портфелей, оставьте заявку на support@alor.ru или свяжитесь с нами в телеграме.

Тестовый аккаунт не привязывается к учётной записи разработчика, как это происходит с настоящим торговым аккаунтом. Сохраните логин и пароль от предоставленного аккаунта на всё время тестирования запросов.


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

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

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

Чтобы получить Refresh Токен, выписанный от имени тестового торгового аккаунта, выполните следующие действия:

  1. Перейдите на страницу Токены для доступа к API
  2. Нажмите на ссылку Токены для ведения торгов в тестовом контуре можно получить здесь. в разделе "Тестовый контур" внизу страницы
  3. На открывшейся странице нажмите на ссылку Begin OAuth authorization flow
  4. Введите логин и пароль тестового торгового аккаунта, полученного от технической поддержки, в соответствующие поля и нажмите Войти
  5. Ознакомьтесь с перечнем прав доступа, предоставляемых для тестового торгового аккаунта, и нажмите Разрешить
  6. Сохраните полученные Access и Refresh Токены в безопасное место
примечание

Срок действия Refresh токена для Тестового контура — 1 месяц. Причина — тестовый токен фактически генерируется по процедуре авторизации через сервис OAuth 2.0. Сервис также выполняет роль OAuth-клиента, получая и передавая пользователю токены со стандартным для этого способа получения срока жизни.


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

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

Для Тестового контура есть два способа получения токена:

  1. На странице получения Refresh токена
  2. В ответе на соответствующий HTTP-запрос

Независимо от способа получения, Access токен действителен в течение 30 минут с момента создания. В первом случае отсчёт начинается с момента перехода на страницу с токенами, во втором — с момента получения ответа от сервера авторизации.

При работе с системой рекомендуется пользоваться вторым способом, позволяющим автоматизировать обновление токена до истечения его срока действия. Для этого отправьте POST-запрос к серверу авторизации, доступному по адресу https://oauthdev.alor.ru.

Пример запроса:

https://oauthdev.alor.ru/refresh?token=12be28e4-2e15-44b8-983e-e6c119a1bcac

Где 12be28e4-2e15-44b8-983e-e6c119a1bcacRefresh Токен.

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

{
"AccessToken": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImN0eSI6IkpXVCJ9.eyJzdWIiOiJMb2dpblNhbXBsZSIsImVudCI6ImNsaWVudCIsImVpbiI6IjAxMjM0IiwiY2xpZW50aWQiOiIwMTIzNDU2IiwiYXpwIjoiMDEyMzQ1Njc4OWFiY2RlZjAxMjMiLCJhZ3JlZW1lbnRzIjoiQWdyZWVtZW50U2FtcGxlMSBBZ3JlZW1lbnRTYW1wbGUyIEFncmVlbWVudFNhbXBsZTMiLCJwb3J0Zm9saW9zIjoiUG9ydGZvbGlvU2FtcGxlMSBQb3J0Zm9saW9TYW1wbGUyIFBvcnRmb2xpb1NhbXBsZTMiLCJzY29wZSI6Ik9yZGVyc1JlYWQgT3JkZXJzQ3JlYXRlIFRyYWRlcyBQZXJzb25hbCBTdGF0cyIsImV4cCI6Mjg3MTc2MzE5OSwiaWF0IjowLCJpc3MiOiJBbG9yLklkZW50aXR5IiwiYXVkIjoiQ2xpZW50IFdBUlAgV2FycEFUQ29ubmVjdG9yIHN1YnNjcmlwdGlvbnNBcGkgQ29tbWFuZEFwaSBJbnN0cnVtZW50QXBpIFRyYWRpbmdWaWV3UGxhdGZvcm0ifQ.QOQVMIAoZ6SnF5urnIzJ0EvtQd9P5Sx355069kXoID207wHOTW0wkKNMcrIKXmENEQQ_0yDjqH_kjeqWLBJuqA"
}
Интерактивный запрос

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


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

  • Задача тестового аккаунта — проверка запросов к API и основанного на них кода приложений. Все операции и сделки, выполняемые от имени такого аккаунта, носят временный характер и обнуляются с перезапуском торговой сессии
  • Тестовый аккаунт нельзя привязать к учётной записи разработчика, как это происходит с настоящим торговым аккаунтом. Сохраните логин и пароль на всё время тестирования API
  • Тестовый аккаунт не персонализирован и может быть выдан нескольким пользователям API одновременно
  • При угрозе работоспособности Тестового контура системы, вызванной действиями пользователя (например, отправка десятков тысяч запросов в секунду), доступ к тестовому аккаунту может быть прекращён
  • Портфели и стартовые позиции аккаунта зависят от настроек, заданных в системе вручную. Если для тестирования API требуются определённые условия, обозначьте их при запросе доступа
  • Тестовый аккаунт поддерживает возможность одновременного создания только одного Refresh токена без возможности его отзыва
  • Токены Тестового контура имеют отличный от Боевого контура срок действия: 1 месяц для Refresh токена и 30 минут для Access токена. При истечении срока новый токен может быть получен повторением описанной выше процедуры