Чтобы настроить интерактивную авторизацию в СБИС, добавьте приложение на внешний сайт с помощью визуального элемента, например кнопки. Нажмите ее и авторизуйтесь в СБИС.
Для авторизации в системе используйте протокол OAuth 2. Он позволяет пользователям внешней системы войти на сайт online.sbis.ru, а затем передает права на выполнение запросов.
Пользователь предоставит приложению доступ, и внешняя система сможет использовать токен — ключ, который определяет, какое стороннее приложение авторизовано в СБИС и к каким разделам системы у него есть доступ.
Параметры приложения для интеграции:
- client_id - ID подключения;
- client_secret - защищенный ключ.
Выполнить запрос
«Access_token» и «sid» — обязательные поля для авторизации, с помощью которых внешнее приложение выполняет запросы в системе СБИС. В запросе нужно передать одно из этих полей. Данные для авторизации передаются в заголовках.
Заголовок | Описание |
X-SBISAccessToken: <access_token> | Токен доступа приложения для работы с API СБИС |
X-SBISSessionId:<sid> | Идентификатор сессии подключения, в процессе которого запрашивается доступ |
Получить токен доступа
- На внешнем сайте поместите визуальный элемент, например кнопку. Она будет нужна для взаимодействия со СБИС.
- Создайте обработчик, который при нажатии кнопки во всплывающем окне будет открывать адрес для идентификации приложения.
Адрес для идентификации:
https://online.sbis.ru/oauth/api/token?client_id=<client_id>&client_secret=<secret_key> &redirect_uri=https://other-site.ru/
Скрипт ниже выполняет переход в новое окно с адресом для идентификации: - Для идентификации СБИС запросит логин и пароль, которые пользователь должен ввести в окне авторизации.
- На следующем шаге приложение запросит согласие на доступ к данным пользователя.
- Если пользователь разрешил приложению доступ к аккаунту, приложение отправит токен доступа и идентификатор устройства пользователя на внешний сайт. Их можно использовать для доступа к API системы СБИС.
Пример передачи токена и ИД устройства: https://other-site.ru/#access_token=<access_token>