Доработки приложения и сайта партнера для поддержки sbol2app/web
1. МП Сбол открывает приложение партнера
МП СБОЛ добавляет к диплинку приложения партнера параметр sberIDRedirect (в значении указывается хост deeplink для вызова МП СБОЛ) и запускает его
partner://partner.host/auth?
&sberIdRedirect=sberbankidlogin%3A%2F%2Fsberbankidsso
Если приложения не окажется на устройстве, запустится webLink и дальше пойдет сценарий sbol2web
2. Партнер запускает авторизацию по Sber ID
Сервис аутентификации партнера анализирует ссылку на наличие параметров sberIDRedirect. Если в ссылке есть параметр sberIDRedirect, то сервис аутентификации партнера использует значение этого параметра в качестве хоста: {значение параметра sberIDRedirect}{oidc-параметры, в т.ч. тут же state} и формирует обратную ссылку для авторизации по Сбер ID.
[Значение из параметра sberIDRedirect]?
scope=openid name phones email
&client_id=*******-EEA3-D4EC-C535-A12A618A4C3C
&response_type=code
&state=UhdlDQS6vG4m
&nonce=TGfhfBxr5ak1
&redirect_uri=partner%3A%2F%2Fpartner.host%2Fauth
Пользователь уже может быть залогинен в ваше приложение, тут можно как сделать перелогин, так и сразу перевести пользователя на нужный экран вашего приложения. Все зависит от конкретного сценария.
Значение параметра sberIDRedirect может динамически меняться, в зависимости от сценария и версии МП Сбол! Не завязывайтесь на какое-то конкретное значение этого параметра.
Партнер автоматически (без клика и действий пользователя) запускает полученную ссылку
4. Аутентификацию пользователя в МП Сбол
МП СБОЛ (Сбер ID) выполняет аутентификацию пользователя и открывает приложение партнера (диплинк, указанный в redirect_uri
) и параметры state
и code
.
partner://partner.host/auth?
&code=qwdjwqe1j2321j3
&state=adh321h32h13
На этом шаге пользователь вернется в МП СБол для проверки наличия оферты Удобный доступ (УД). Если оферта УД не принята, то пользователю отображается экран принятия оферты (ссылка на оферту, кнопка Подтвердить), пользователь подтверждает оферту
5. Партнер авторизован
Пользователь успешно аутентифицирован в приложении партнера и попал в тот раздел, в который шел изначально. По аутентификацией понимается обмен code на AT и получение пользовательских данных, подробнее можно почитать тут