Авторизация в тестовом контуре
Данная статья описывает основные особенности авторизации в Тестовом контуре. Пошаговая инструкция по авторизации и работе с этим контуром системы описана в руководстве по быстрому старту
Для авторизации запросов к API требуется торговый аккаунт, от имени которого будут выполняться операции. В Боевом контуре роль торгового аккаунта выполняет учётная запись клиента АЛОР Брокер с настоящими портфелями и позициями в них. Так как Тестовый контур работает с симуляционными данными, использование настоящего торгового аккаунта в нём невозможно.
Авторизация запросов к этому контуру системы выполняется с помощью тестового торгового аккаунта, предоставляемого пользователям по запросу, что создаёт различия в процессе авторизации в сравнении с Боевым контуром.
Тестовый контур поддерживает авторизацию только с помощью механизма JWT. Сервис OAuth недоступен для этого контура.
Учётная запись разработчика
Создание учётной записи разработчика необходимо для авторизации запросов к API независимо от того, к какому контуру системы будут направлены запросы.
Процесс создания и возможности управления учётной записью разработчика описаны в посвящённой этому статье.
Получение торгового аккаунта
Чтобы получить тестовый торговый аккаунт или изменить список относящихся к нему портфелей, оставьте заявку на support@alor.ru или свяжитесь с нами в телеграме.
Тестовый аккаунт не привязывается к учётной записи разработчика, как это происходит с настоящим торговым аккаунтом. Сохраните логин и пароль от предоставленного аккаунта на всё время тестирования запросов.
Получение Refresh токена
Refresh токен используется для обновления Access токенов, авторизующих запросы к API.
Тестовый торговый аккаунт предназначен для проверки запросов, в связи с чем позволяет получить только один Refresh Токен одновременно без предоставления информации о дате создания и сроке действия.
Чтобы получить Refresh Токен, выписанный от имени тестового торгового аккаунта, выполните следующие действия:
- Перейдите на страницу Токены для доступа к API
- Нажмите на ссылку
Токены для ведения торгов в тестовом контуре можно получить здесь.
в разделе "Тестовый контур" внизу страницы - На открывшейся странице нажмите на ссылку
Begin OAuth authorization flow
- Введите логин и пароль тестового торгового аккаунта, полученного от технической поддержки, в соответствующие поля и нажмите
Войти
- Ознакомьтесь с перечнем прав доступа, предоставляемых для тестового торгового аккаунта, и нажмите
Разрешить
- Сохраните полученные Access и Refresh Токены в безопасное место
Срок действия Refresh токена для Тестового контура — 1 месяц. Причина — тестовый токен фактически генерируется по процедуре авторизации через сервис OAuth 2.0. Сервис также выполняет роль OAuth-клиента, получая и передавая пользователю токены со стандартным для этого способа получения срока жизни.
Получение Access токена
Access токены используются для авторизации запросов к API от имени торгового аккаунта.
Для Тестового контура есть два способа получения токена:
- На странице получения Refresh токена
- В ответе на соответствующий HTTP-запрос
Независимо от способа получения, Access токен действителен в течение 30 минут с момента создания. В первом случае отсчёт начинается с момента перехода на страницу с токенами, во втором — с момента получения ответа от сервера авторизации.
При работе с системой рекомендуется пользоваться вторым способом, позволяющим автоматизировать обновление токена до истечения его срока действия. Для этого отправьте POST-запрос к серверу авторизации, доступному по адресу https://oauthdev.alor.ru
.
Пример запроса:
https://oauthdev.alor.ru/refresh?token=12be28e4-2e15-44b8-983e-e6c119a1bcac
Где 12be28e4-2e15-44b8-983e-e6c119a1bcac
— Refresh Токен.
В ответ сервер авторизации вернёт JSON объект, содержащий Access Токен:
{
"AccessToken": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImN0eSI6IkpXVCJ9.eyJzdWIiOiJMb2dpblNhbXBsZSIsImVudCI6ImNsaWVudCIsImVpbiI6IjAxMjM0IiwiY2xpZW50aWQiOiIwMTIzNDU2IiwiYXpwIjoiMDEyMzQ1Njc4OWFiY2RlZjAxMjMiLCJhZ3JlZW1lbnRzIjoiQWdyZWVtZW50U2FtcGxlMSBBZ3JlZW1lbnRTYW1wbGUyIEFncmVlbWVudFNhbXBsZTMiLCJwb3J0Zm9saW9zIjoiUG9ydGZvbGlvU2FtcGxlMSBQb3J0Zm9saW9TYW1wbGUyIFBvcnRmb2xpb1NhbXBsZTMiLCJzY29wZSI6Ik9yZGVyc1JlYWQgT3JkZXJzQ3JlYXRlIFRyYWRlcyBQZXJzb25hbCBTdGF0cyIsImV4cCI6Mjg3MTc2MzE5OSwiaWF0IjowLCJpc3MiOiJBbG9yLklkZW50aXR5IiwiYXVkIjoiQ2xpZW50IFdBUlAgV2FycEFUQ29ubmVjdG9yIHN1YnNjcmlwdGlvbnNBcGkgQ29tbWFuZEFwaSBJbnN0cnVtZW50QXBpIFRyYWRpbmdWaWV3UGxhdGZvcm0ifQ.QOQVMIAoZ6SnF5urnIzJ0EvtQd9P5Sx355069kXoID207wHOTW0wkKNMcrIKXmENEQQ_0yDjqH_kjeqWLBJuqA"
}
Для запроса на обновление Access Токена доступно интерактивное описание на странице Обновление JWT токена.
Особенности и ограничения
- Задача тестового аккаунта — проверка запросов к API и основанного на них кода приложений. Все операции и сделки, выполняемые от имени такого аккаунта, носят временный характер и обнуляются с перезапуском торговой сессии
- Тестовый аккаунт нельзя привязать к учётной записи разработчика, как это происходит с настоящим торговым аккаунтом. Сохраните логин и пароль на всё время тестирования API
- Тестовый аккаунт не персонализирован и может быть выдан нескольким пользователям API одновременно
- При угрозе работоспособности Тестового контура системы, вызванной действиями пользователя (например, отправка десятков тысяч запросов в секунду), доступ к тестовому аккаунту может быть прекращён
- Портфели и стартовые позиции аккаунта зависят от настроек, заданных в системе вручную. Если для тестирования API требуются определённые условия, обозначьте их при запросе доступа
- Тестовый аккаунт поддерживает возможность одновременного создания только одного Refresh токена без возможности его отзыва
- Токены Тестового контура имеют отличный от Боевого контура срок действия: 1 месяц для Refresh токена и 30 минут для Access токена. При истечении срока новый токен может быть получен повторением описанной выше процедуры