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

Запуск авторизации Сбер ID

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

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

Описание сценария и метода loginWithIDToCustomTab

Для входа через единое веб окно Сбер ID используется метод

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

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

  • Метод SID.Login.createUriForLogin позволяет создать uri для авторизации по Сбер ID.
  • Передайте customTabRedirectUri deeplink на ваше приложение, позволяет подтвердить вход через мобильное приложение Сбербанк Онлайн.
  • Класс PkceUtils содержит утилиты для создания значений параметров протокола PKCE (необязательные параметры, если вы не используете PKCE).

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

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

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

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

Прочитать про общую схему входа, а так же параметры можно на страницу подключение Сбер ID

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

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

Про обработку результата читайте в статье Обработка ответа после авторизации

Единое веб окно Сбер ID после восстановления продолжит свою работу и в результате, после авторизации пользователя, по redirectUri произойдет редирект на нужный экран вашего приложения. Про обработку результата читайте в статье Обработка ответа после авторизации

Передача номера на OIDC страницу

Возможно передать ссылку Вы можете при старте единого веб окна передать телефон пользователя, который пользователь ввел на ваших экранах входа. Это позволит сразу запустить подтверждение и ускорить вход. Для этого при формировании uri передайте параметр loginHint в формате

Название параметраОбязательныйОписаниеФорматПример
loginHintнетПри передаче параметра номер телефона пользователя автоматически будет использован на странице входа по Сбер IDдолжен соответствовать паттерну: ^(7)([349]\d{2}|8[0-7]\d{1})(\d{7})$79001234567
//Создание Uri с параметрами для аутентификации, все значения нужно поменять на свои, тут указаны примеры
val uri = SID.Login.createUriForLogin(
scope = "добавьте все необходимые вам scope",
state = "random_state",
nonce = "random_nonce",
redirectUri = "partner://redirect",
customTabRedirectUri = "app://customtab_redirect/",
codeChallenge = codeChallenge,
loginHint = "79ХХХХХХХХХ",
codeChallengeMethod = PkceUtils.getCodeChallengeMethod()
)

Кастомизация окна авторизации

В SDK есть возможность кастомизации встроенного браузера, который появляется при входе через веб окно Сбер ID. Для этого необходимо передать через Settings.setUIPreferences параметр themeColor со значениями light и dark для светлой и темной темы соответственно.

Скриншот навбара

val themeColor = SIDColor(
light = Color.parseColor("#68B1F8"),
dark = Color.parseColor("#ff3b58")
)

val preferences = SIDPreferences(themeColor = themeColor)
Settings.setUIPreferences(preferences)

}

Если вы поддерживаете лишь одну тему, перешлите два одинаковых цвета в параметры themeColorLight и themeColorDark

Перечень допустимых параметров Scope

Параметры scope позволяют указать, к каким данным пользователя вы хотите получить доступ в процессе авторизации. Это важно для соблюдения принципов минимальной необходимости и прозрачности обработки персональных данных. Ниже в таблице представлен список всех доступных scope для Сбер ID:

ScopeНаименование поля в ответеОписаниеПример
Пакет Light
openid (обязательно)subНеизменный уникальный идентификатор клиента, передаваемый внешним потребителям."sub":"e327493e-979a-461f-9ca5-edfab9d6fbab"
emailemailАдрес электронной почты"email":“personal@mail.ru
mobilephone_numberНомер телефона"phone_number":"+7 (000) 000000”
Пакет Standart
birthdatebirthdateДата рождения (формат ГГГГ-ММ-ДД) "birthdate":"0000-00-00"
namefamily_name, given_name, middle_nameФамилия Имя Отчество

"family_name":"Фамилия"

"given_name":"Имя"

"middle_name":"Отчество"

gendergenderПол: 1 – мужчина; 2 – женщина;"gender":1,
Пакет Professional
maindocidentificationПолные данные паспорта: серия,номер,орган, выдавший паспорт,дата выдачи паспорта (формат ГГГГ-ММ-ДД),код подразделения

"identification":{

"series":"00 00",

"number":"000000",

"issued_by":"Орган выдавший документ",

"issued_date":"0000-00-00",

"code":"000-000"

}

inninnИНН номер

"inn":{

"number":"0000000"

}

snilssnilsСНИЛС номер

"snils":{

"number":"0000000"

}

driving_licensedriving_licenseНомер водительского удостоверения

"driving_license":{

"number":"111111"

}

international_passportinternational_passportЗаграничный паспорт гражданина РФ:серия документа (формат 00 00),номер документа(формат 000000),кем выдан, дата выдачи (формат ГГГГ-ММ-ДД),дата окончания (формат ГГГГ-ММ-ДД),имя,фамилия

"international_passport":{

"series":"777",

"number":"333",

"issued_by":"рога и копыта",

"issued_date":"1981-01-01",

"planned_end_date":"1999-02-01",

"name":"name",

"surname":"surname"

}

priority_docpriority_docДанные документа, удостоверяющего личность:тип,серия документа (формат 00 00),номер документа (формат 000000),кем выдан, дата выдачи (формат ГГГГ-ММ-ДД),код. Выводится один документ в соответствии со списком приоритетов:Паспорт РФ, Загранпаспорт гражданина РФ, Военный билет, Паспорт моряка, Временное удостоверение, Паспорт иностранного граданина, Вид на жительство иностранного гражданина.
Доступные типы документов:
  • 17 - Паспортгражданина РФ
  • 18 - Загранпаспортгражданина РФ
  • 7 - Военный билетвоеннослужащего
  • 21 - Удостоверениеличности моряка
  • 14 - Временное удостоверение личности гражданина РФ
  • 10 - Паспорт иностранного гражданина
  • 75 - Вид на жительство в РФ иностранного гражданина

"priority_doc":{

"type":17,

"series":"777",

"number":"333",

"issued_by":"рога и копыта",

"issued_date":"1981-01-01",

"code":"adasd"

}

citizenshipcitizenshipГражданство: последняя по актуальности страна гражданства (наименование на русском языке) и ее код (ОКСМ, буквенное обозначение – Альфа-3)

"citizenship":{

"country_code":"countryCode",

"country_name":"countryName"

}

place_of_birthplace_of_birthМесто рождения – город рождения клиента (текстовое поле, не кодируется)"place_of_birth":”Nsk”
address_regaddress_regАдрес регистрации: полный адрес, код ФИАС, почтовый индекс, страна, регион, район, город, поселение, улица, дом, строение, корпус, квартира

"address_reg":{

"full_address":"fullAddress",

"fias_code":"fiasCode",

"post_index":"postIndex",

"country":"country",

"region":"region",

"district":"district",

"city":"city",

"settlement":"settlement",

"street":"street",

"house":"house",

"building":"building",

"bulk":"bulk",

"apartment":"apartment"

}

work_addresswork_addressРабочий адрес: полный адрес, код ФИАС, почтовый индекс, страна, регион, район, город, поселение, улица, дом, строение, корпус, квартира

"work_address":{

"full_address":"fullAddress",

"fias_code":"fiasCode",

"post_index":"postIndex",

"country":"country",

"region":"region",

"district":"district",

"city":"city",

"settlement":"settlement",

"street":"street",

"house":"house",

"building":"building",

"bulk":"bulk",

"apartment":"apartment"

}

address_of_actual_residenceaddress_of_actual_residenceАдрес места жительства/доставки: полный адрес,код ФИАС,почтовый индекс,страна,регион,район,город,поселение,улица,дом,строение,корпус,квартира

"address_of_actual_residence":{

"full_address":"fullAddress",

"fias_code":"fiasCode",

"post_index":"postIndex",

"country":"country",

"region":"region",

"district":"district",

"city":"city",

"settlement":"settlement",

"street":"street",

"house":"house",

"building":"building",

"bulk":"bulk",

"apartment":"apartment"

}

delivery_addressdelivery_addressАдрес для доставки: полный адрес,код ФИАС,почтовый индекс,страна,регион,район,город,поселение,улица,дом,строение,корпус,квартира

"delivery_address":{

"full_address":"fullAddress",

"fias_code":"fiasCode",

"post_index":"postIndex",

"country":"country",

"region":"region",

"district":"district",

"city":"city",

"settlement":"settlement",

"street":"street",

"house":"house",

"building":"building",

"bulk":"bulk",

"apartment":"apartment"

}

stsstsНомер СТС

"sts":{

"number":"00 00 00000"

}

previous_identificationprevious_identificationРеквизиты ранее выданного паспорта гражданина РФ: Серия документа, Номер документа, Кем выдан, Дата выдачи

"previous_identification":{

"series":"00 00",

"number":"000 000",

"issued_by":"Орган выдавший документ",

"issued_date":"0000-00-00"

}

previous_nameprevious_family_name, previous_given_name, previous_middle_nameПредыдущие фамилия, имя, отчество

"previous_family_name":"Фамилия"

"previous_given_name":"Имя"

"previous_middle_name":"Отчество"

educationeducationСведения об образовании:Код + описание,начальное,среднее,среднее специальное,высшее,магистратура и пр.

"education":{

"code":"1",

"description":"начальное"

}

place_of_workplace_of_workНаименование организации(место работы)"place_of_work": "место работы",
job_titlejob_titleНаименование занимаемой должности"job_title": "должность"
marital_statusmarital_statusСемейное положение:Код + описание,холост,женат,разведен,вдовец/ вдова,раздельное проживание,гражданский брак и пр.

"marital_status":{

"code":"1",

"description":"холост"

}

is_self_employedis_self_employedПризнак самозанятого"is_self_employed":true

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

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

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