Формирование webLink
WebLink — это ссылка на сайт партнера, куда будет перенаправлен пользователь из МП СБОЛ. Данная ссылка необходима для перехода пользователя из МП СБОЛ на сайт партнера и автоматического запуска процесса авторизации пользователя.
https://partner.ru/auth
Допускается добавлять в WebLink необходимые параметры и utm-метки. Например, можно передавать параметр type, чтобы на фронте анализировать его значение и определять, что необходимо автоматически запустить процесс авторизации пользователя.
https://partner.ru/auth?
type=auto
Также можно использовать параметр to для сохранения адреса целевой страницы сайта, на которую должен быть перенаправлен пользователь после успешной аутентификации.
https://partner.ru/auth?
type=auto
&to=catalog
Проблема двойного кодирования параметров webLink в старых версиях МП Сбол (до 16.0.0)
В версиях МП Сбол до 16.0.0 включительно, есть ошибка: параметры webLink с особыми символами (/, &, ?) могут кодироваться дважды. Из-за этого сайт не сможет корректно обработать такие параметры.
Пример:
Вы передаете to=%2Fsearch_promo%3Ftime%3Dcode91881, а итоговая ссылка выглядит так: https://partner.ru/auth?to=%252Fsearch_promo%253Ftime%253Dcode91881.
Здесь / закодирован дважды (%252F вместо %2F).
Что делать:
- Не используйте спецсимволы в параметрах. Вместо
to=/search_promo?time=code91881используйте отдельные параметры:to=search_promo&time=code91881, а затем собирайте строку на сайте. - Реализовать дополнительное декодирование нужного параметра
%252Fsearch_promo%253Ftime%253Dcode->/search_promo?time=code91881
Используйте to только в том случае, если вы не можете использовать адрес целевой страницы в качестве redirect_uri.
Такое возможно, если на сайте партнера предусмотрена одна точка обработки code и state для всех коммуникаций.