ym88659208ym87991671
Запуск аутентификации через браузер Custom Tabs | Документация для разработчиков

Запуск аутентификации через браузер Custom Tabs

Обновлено 30 января 2026

Для входа через браузер Custom Tabs используется метод

SIDLogin.loginWithIDToCustomTab(activity: Activity, uri: Uri)

Метод loginWithIDToCustomTab следует вызывать исключительно в главном потоке. Это необходимо для проверки доступности WebView и для отображения сообщения Toast в случае, если WebView недоступен.

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

Далее необходимо обработать ответ Sber ID. Про обработку результата читайте в статье Обработка ответа после авторизации

Формирование ссылки и запуск сценария

Для формирования uri используйте:

  • Метод SIDLogin.createLoginUri позволяет создать uri для авторизации по Сбер ID.
  • Передайте пустой "" customTabRedirectUri, необходимо для правильного формирования ссылки.
  • Класс PkceUtils содержит утилиты для создания значений параметров протокола PKCE (необязательные параметры, если вы не используете PKCE).

Обратите внимание, для работы данного сценария обязательно при создании URI передайте параметр customTabRedirectUri равный . Если вы не используете данный сценарий, вам достаточно передать пустой customTabRedirectUri = "". Данное ограничение связано с обратной совместимостью и техническими ограничениями, в будущем уйдем от данного костыля.

//Создание параметров для поддержки протокола PKCE.
val codeVerifier = PkceUtils.generateRandomCodeVerifier(SecureRandom())
val codeChallenge = PkceUtils.deriveCodeVerifierChallenge(codeVerifier)

//Создание Uri с параметрами для аутентификации, все значения нужно поменять на свои, тут указаны примеры
val uri = SIDLogin.createLoginUri(
scope = "добавьте все необходимые вам scope",
state = "random_state",
nonce = "random_nonce",
redirectUri = "partner://redirect",
customTabRedirectUri = "",// !!! Передать пустое значение ""
codeChallenge = codeChallenge,
codeChallengeMethod = PkceUtils.getCodeChallengeMethod()
)

//Запуск аутентификации по Сбер ID, первым параметром нужно передать контекст
SIDLogin.loginWithIDToCustomTab(context, uri)

Если все сделано верно, вы увидите веб окно входа по Сбер ID. При этом мобильное приложение Сбербанк Онлайн не поднимется вне зависимости установлен он или нет.

Auth customtab

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней

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