ym88659208ym87991671
Авторизация через мобильное приложение Сбербанк Онлайн | Документация для разработчиков

Авторизация через мобильное приложение Сбербанк Онлайн

Обновлено 7 апреля 2025

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

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

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

SID.Login.loginWithID(activity: FragmentActivity, uri: Uri)

Описание параметров FragmentActivity используется для запуска приложения Сбербанк Онлайн или веб Страницы Uri для передачи всех данных, необходимых для аутентификации, таких как clientId, scope, state, nonce, redirectUri, codeChallenge и codeChallengeMethod.

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

Этот метод выполняет следующие действия:

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

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

Таким образом, этот метод обеспечивает гибкий способ входа, позволяя пользователям использовать как мобильное приложение, так и веб-страницу Сбер ID в зависимости от наличия приложения на их устройстве.

Details

Если вы подключаете aar файлом зависимость (legacy): Чтобы сценарий сработал, необходимо добавить зависимость на библиотеку браузера AndroidX в ваш проект. Для этого в файле build.gradle, в разделе зависимостей, добавьте следующую строку, если ее еще нет:

dependencies {
implementation "androidx.browser:browser:1.4.0"
}

Указанная версия актуальна на момент публикации, но вы можете использовать более новую версию, если она доступна.

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

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

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

Обратите внимание, что clientID передается через настройки SDK

Пример реализации

//Создание параметров для поддержки протокола 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",
codeChallenge = codeChallenge,
codeChallengeMethod = PkceUtils.getCodeChallengeMethod()
)

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

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

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

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

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

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

Перечень допустимых параметров 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"

}

is_company_employeeis_company_employee Признак сотрудника ПАО "Сбербанк""is_company_employee":true,
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
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера.