ym88659208ym87991671
Доработки сайта партнера для поддержки sbol2web | Документация для разработчиков

Доработки сайта партнера для поддержки sbol2web

Обновлено 18 июня 2024

Для того, чтобы МП СБОЛ смог открыть ваш сайт по webLink, необходимо доработать ваш сайт:

  1. Научить ваш сайт открываться по webLink
  2. Обработать sberIDRedirectUri и token
  3. Аутентификацию пользователя в Сбер ID

Создайте webLink, который может открыть ваше приложение.

МП СБОЛ добавляет к ссылке на сайт партнера параметр sberIDRedirect (в значении указывается хост deeplink для вызова МП СБОЛ) и параметр token, открывает ее во встроенном браузере.

https://partner.ru/auth?
type=auto
&to=%2Fcatalog
&sberIDRedirect=sberbankidlogin%3A%2F%2Fsberbankidsso
&token=dn1j2n3jn123j21n3

Если МП СБОЛ поддерживает sbol2web new (сценарий поддерживается, начиная с версий iOS 14.18, Android 14.18). Сбер ID проверяет в МП СБОЛ наличие у пользователя оферты Удобный доступ (УД). Если оферта УД не принята, то пользователю отображается экран принятия оферты (ссылка на оферту, кнопка Подтвердить), пользователь подтверждает оферту

2. Обработать sberIDRedirectUri и token

Сервис аутентификации партнера анализирует ссылку на наличие параметров sberIDRedirect и token. Если в ссылке есть параметр sberIDRedirect, то сервис аутентификации партнера использует значение этого параметра в качестве хоста: [sberIDRedirectUri] + ? + token + OIDC параметры и формирует обратную ссылку для авторизации по Сбер ID.

Необходимо добавить token в обратную ссылку на ровне с OIDC параметрами. Если token пришел к вам пустым, тогда его передавать не нужно. Актуально для старых версий МП СБОЛ.

[Значение из параметра sberIDRedirect]?
scope=openid name phones email
&token=[значение из параметра token]
&client_id=*******-EEA3-D4EC-C535-A12A618A4C3C
&response_type=code
&state=UhdlDQS6vG4m
&nonce=TGfhfBxr5ak1
&redirect_uri=https%3A%2F%2Fpartner.ru%2Fauth%3Futm_source%3DQwerty_478Qwerty_478Qwerty_478Qwerty_478Qwerty_4789%26utm_medium%3DAsdfgh_123%26utm_campaign%3DZxcvbn_789

Пользователь уже может быть залогинен в ваше приложение, тут можно как сделать перелогин, так и сразу перевести пользователя на нужный экран вашего приложения. Все зависит от конкретного сценария. В большинстве случаях, повторная авторизация не требуется и можно сразу ввести на нужный раздел приложения.

Если webLink содержит параметр to, то партнер сохраняет это значение в связке со state. Сохранять можно на своем backend или в своей cookie. Это нужно, чтобы после успешной аутентификации направить пользователя туда, куда он шел изначально (до старта аутентификации)

Значение параметра sberIDRedirect может динамически меняться, в зависимости от сценария и версии МП СБОЛ! Не завязывайтесь на какое-то конкретное значение этого параметра.

Партнер автоматически (без клика и действий пользователя) запускает полученную ссылку

3. Авторизация пользователя по Сбер ID

Сбер ID выполняет аутентификацию пользователя и открывает во встроенном браузере сайт партнера (адрес, указанный в redirect_uri) и параметры state и code.

   https://partner.ru/auth?
utm_source=Qwerty_478Qwerty_478Qwerty_478Qwerty_478Qwerty_4789
&utm_medium=Asdfgh_123
&utm_campaign=Zxcvbn_789
&code=qwdjwqe1j2321j3
&state=adh321h32h13

По значению state восстанавливается значение to и по его значению направляет пользователя в целевой раздел. Пример: https://partner.ru/catalog

Если МП СБОЛ не поддерживает sbol2web new (версий до iOS 14.18, Android 14.18), на этом шаге пользователь вернется в МП СБОЛ для проверки наличия оферты Удобный доступ (УД). Если оферта УД не принята, то пользователю отображается экран принятия оферты (ссылка на оферту, кнопка Подтвердить), пользователь подтверждает оферту

Пользователь успешно авторизован на сайте партнера и попал в тот раздел, в который шел изначально. Под авторизацией понимается обмен code на AT и получение пользовательских данных, подробнее можно почитать тут

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.