Авторизация
Ресурсы API дают доступ не только к общедоступным биржевым данным, но и к приватной информации о портфелях и позициях определённого торгового аккаунта. Кроме того, с помощью API у пользователя появляется возможность управлять заявками, выставляемыми от имени клиента Брокера.
Чтобы обеспечить безопасность данных и средств пользователей, большинство запросов к HTTP API и все команды WebSocket API требуют подтверждения наличия прав доступа у отправителя.
Для получения доступа к любому из предлагаемых системой механизмов авторизации требуется наличие учётной записи разработчика.
Механизмы авторизации
В зависимости от того, как будут выполняться запросы к API, система предлагает два механизма авторизации:
- JSON Web Token (JWT) для пользователей, выполняющих запросы от своего торгового аккаунта напрямую к API системы
- Сервис OAuth 2.0 для разработчиков сторонних приложений, пользователи которых будут взаимодействовать с системой через эти приложения под своими торговыми аккаунтами
Для Тестового контура поддерживается авторизация только с помощью JWT. Подробности доступны в соответствующей статье.
Идентификация и аутентификация пользователя
Перед проверкой прав доступа к запрашиваемому ресурсу (авторизация) системе необходимо определить, от чьего имени выполняется запрос (идентификация), и подтвердить личность пользователя (аутентификация).
Независимо от того, какой механизм применяется для авторизации запросов, аутентификация и идентификация пользователя выполняются для торгового аккаунта, от имени которого будут выполняться все последующие запросы.
Учётная запись разработчика не участвует непосредственно в процессах идентификации, аутентификации или авторизации пользователя и выполняемых им запросов. Задача этой учётной записи — предоставление доступа к предлагаемым механизмам авторизации.
Различия в процессе аутентификации пользователя в рамках доступных механизмов авторизации заключаются в том, как будут передаваться данные торгового аккаунта для проверки подлинности:
- При использовании JWT аутентификация пользователя выполняется путём привязки торгового аккаунта напрямую к учётной записи разработчика
- При использовании сервиса OAuth 2.0 данные торгового аккаунта передаются сервису приложением, запрашивающим авторизацию выполняемых действий