ym88659208ym87991671
SIDLogin | Документация для разработчиков

SIDLogin

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

Объект для работы партнера с авторизацией клиента в экосистеме SID. Предоставляет методы для создания URI авторизации, запуска аутентификации, получения результатов и управления процессом входа/выхода из профиля.

Для работы необходимо инициализировать и настроить SDK до вызова методов авторизации

Методы

SIDLogin.createLoginUri

Создает URI для логина клиента партнером.

redirectUri должен быть добавлен для вашего сервиса в привязке к clientId. Для этого направьте запрос на support@ecom.sberbank.ru на добавление deeplink в список доверенных. В запросе указывается clientId и список deeplink, по которым будет производиться возврат в мобильное приложение партнера. Сотрудник банка добавит домен в список разрешенных.

ПараметрОбязательныйТипОписание
scopeДаStringСписок передаваемых данных на которые подписано приложение (через пробел)
stateДаStringУникальное значение для предотвращения подделки
nonceДаStringУникальная строка для идентификации источника запроса
redirectUriДаStringАдрес для перенаправления после аутентификации
customTabRedirectUriДаStringНеобходим для работы сценариев через веб SIDLogin.loginWithIDToCustomTab и SIDLogin.loginWithIDToCustomTab
codeChallengeДаStringХэшированное значение секретного кода code_verifier
codeChallengeMethodДаStringМетод преобразования code_verifier в code_challenge
uriSchemeДаStringКастомная схема диплинка в формате app://host
loginHintДаStringТелефон для предзаполнения формы, для работы сценария [loginHint], формат "79ХХХХХХХХХ"

Возвращаемое значение: Uri

SIDLogin.loginWithID

Запускает аутентификацию через МП СБОЛ. Если МП Сбол не установлено, запустится web-версия, аналогично запуску SIDLogin.loginWithIDToCustomTab. Данный метод запускает диплинк в МП Сбол с флагом Intent.FLAG_ACTIVITY_NEW_TASK

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

ПараметрОбязательныйТипОписание
activityДаFragmentActivityДля получения информации о МП Сбера и старта активити
uriДаUriURI с данными для запуска активити

Возвращаемое значение: Boolean (успешность запуска)

SIDLogin.loginWithIDToCustomTab

Запускает аутентификацию в Custom Tabs с последующей авторизацией через web-страницу. 1. Запускает веб интерфейс авторизации Сбер ID в CustomTabs. Метод проверяет, наличие установленных браузеров, которые поддерживают CustomTabs. Если на устройстве есть такой браузер, метод запускает CustomTabs, если нет WebVew.

2. Запуск сценария во внешнем браузере. Если по какой-то причине браузера с поддержкой CustomTabs на устройстве нет и WebView так же не получилось запустить, метод запустит сценарий во внешнем браузере, если такой есть.

3. Отображение Toast, о том что вход не доступен. Если ничего нет, отобразится Toast с текстом ошибки: "Не нашли браузер. Скачайте любой и повторите вход по Сбер ID."

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

Пример:

//Создание параметров для поддержки протокола 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(),
loginHint = "79ХХХХХХХХХ", // для поддержки loginHint
)

//Запуск аутентификации по Сбер ID, первым параметром нужно передать контекст
SIDLogin.loginWithIDToCustomTab(context, uri)
ПараметрОбязательныйТипОписание
activityДаActivityАктивность для открытия CustomTabs
uriДаUriАвторизационный URI

Возвращаемое значение: Boolean (успешность запуска)

SIDLogin.loginWithIDToWebView

Запускает аутентификацию через нативный WebView с последующей авторизацией через web-страницу.

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

Пример:

//Создание параметров для поддержки протокола 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(),
loginHint = "79ХХХХХХХХХ", // для поддержки loginHint
)

//Запуск аутентификации по Сбер ID, первым параметром нужно передать контекст
SIDLogin.loginWithIDToWebView(context, uri)
ПараметрОбязательныйТипОписание
activityДаActivityАктивность для открытия WebView
uriДаUriАвторизационный URI

Возвращаемое значение: Boolean (успешность запуска)

SIDLogin.getIDAuthResult (Intent)

Обрабатывает результат аутентификации из Intent.

ПараметрОбязательныйТипОписание
intentДаIntentIntent с результатом авторизации

Возвращаемое значение: SIDResultModel

SIDLogin.getIDAuthResult

Обрабатывает результат аутентификации из Uri.

ПараметрОбязательныйТипОписание
uriДаUriUri с результатом авторизации

Возвращаемое значение: SIDResultModel

SIDLogin.getSeamlessUriScheme

Получает схему диплинка в формате app://host для бесшовной авторизации.

// Получаем uriScheme при старте бесшовного входа, запуск диплинка - appLink
val data = intent.data ?: return
val uriScheme = SID.Login.getSeamlessUriScheme(data)
ПараметрОбязательныйТипОписание
uriДаUriИсходный Uri при переходе в МП партнера

Возвращаемое значение: String

SIDLogin.autoAuth

Запускает аутентификацию через Сбер ID (только если МП Сбера установлено). Используется в сценарии бесшовного входа.

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

// Получаем uriScheme при старте бесшовного входа, запуск диплинка - appLink
val data = intent.data ?: return
val uriScheme = SID.Login.getSeamlessUriScheme(data)

// Полученное значение необходимо передать в следующий метод `SID.Login.createUriForLogin` при создании диплинка авторизации.
val uri = SIDLogin.createLoginUri(
scope = "добавьте все необходимые вам scope",
state = "random_state",
nonce = "random_nonce",
redirectUri = "partner://redirect",
codeChallenge = codeChallenge,
codeChallengeMethod = PkceUtils.getCodeChallengeMethod()
uriScheme = uriScheme
)

// Запуск авторизации с полученной uriScheme
SIDLogin.autoAuth(this, uri)
ПараметрОбязательныйТипОписание
uriДаUriАвторизационный URI

Возвращаемое значение: Boolean (успешность запуска)

SIDLogin.logout

Разлогинивает клиента. Удаляет сессию и очищает данные авторизации.

SIDLogin.sendOtherAuth

Регистрирует результат авторизации через сторонний сервис.

ПараметрОбязательныйТипОписание
nameAuthServiceДаStringНазвание сервиса (GOOGLE, YANDEX и т.д.)
isSuccessДаBooleanУспешность авторизации
isUserNewДаBooleanФлаг нового пользователя

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

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

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