Вы можете встроить приложение на внешний сайт с помощью визуального элемента, например кнопки. Нажав ее, пользователь авторизуется в Saby.
Для интерактивной авторизации используется протокол OAuth 2. Он позволяет пользователям внешней системы войти на сайт online.saby.ru, а затем передает права на выполнение запросов.
Когда пользователь разрешает приложению доступ к информации, внешней системе передается токен доступа. Это набор символов (ключ), который определяет, какое именно приложение авторизуется в Saby и какие участки системы ему доступны.
Параметры приложения для интеграции:
- client_id= <client_id>,
- client_secret= <client_secret>.
Выполнить запрос
«Token» — обязательное поле для авторизации, используемое внешним приложением для выполнения запросов в системе Saby. Авторизационные данные передаются в заголовке:
X-SBISAccessToken: <access_token> — токен доступа приложения для работы с API Saby.
Получить токен доступа
Если авторизация происходит через браузер, получите токен через код подтверждения: пользователь вводит логин и пароль, система выдает код, который ваш сайт отправляет на сервер для обмена на токен. Если приложение работает на сервере и пользователь не участвует, сервер запрашивает токен напрямую.
- На внешнем сайте поместите визуальный элемент, например кнопку. Она будет нужна для взаимодействия с Saby.
- Создайте обработчик, который при нажатии кнопки во всплывающем окне будет открывать адрес для идентификации приложения.
Адрес для идентификации: https://online.sbis.ru/oauth/api/token?Параметры запроса:
- "client_id"*: идентификатор приложения;
- "redirect_uri"*: адрес, на который будет перенаправлен пользователь после успешной аутентификации в Saby;
- "response_type": тип ответа. Возможные значения «code» и «token», по умолчанию «token»;
- "state": строка состояния, которую Saby вернет без изменений;
- "scope": область действия запроса на доступ в виде списка строк, разделенных пробелами. Например, «openid profile email».
Скрипт ниже выполняет переход в новое окно с адресом для идентификации:
- Введите логин и пароль.
- Разрешите доступ к аккаунту.
- Перейдите на внешний сайт в зависимости от параметра запроса «response_type»:
- На внешнем сайте поместите визуальный элемент, например кнопку. Она будет нужна для взаимодействия с Saby.
- Создайте обработчик, который при нажатии кнопки во всплывающем окне будет открывать адрес для идентификации приложения.
Адрес для идентификации:
https://online.sbis.ru/oauth/api/token?client_id=<client_id>&client_secret=<secret_key> &redirect_uri=https://other-site.ru/
Скрипт ниже выполняет переход в новое окно с адресом для идентификации: - Для идентификации Saby запросит логин и пароль, которые пользователь должен ввести в окне авторизации.
- На следующем шаге приложение запросит согласие на доступ к данным пользователя.
- Если пользователь разрешил приложению доступ к аккаунту, приложение отправит токен доступа и идентификатор устройства пользователя на внешний сайт. Их можно использовать для доступа к API системы Saby. Токен позволяет переключаться между разными аккаунтами одного профиля через метод СБИС.ПереключитьАккаунт.
Пример передачи токена и ИД устройства: https://other-site.ru/#access_token=<access_token>
Авторизация Saby на вашем сайте настроена. Теперь пользователь может входить в систему через внешний сайт и работать с сервисами Saby.