Подключение
Если вы используете такие CMS как Drupal, Joomla, WordPress, OpenCart или 1С‑Битрикс, то рекомендуем использовать готовые модули для подключения
Подключите на страницу скрипт
<head>
<script src="https://id.sber.ru/sdk/web/sberid-sdk.production.js"></script>
</head>
Добавьте вызов скрипта
new SberidSDK({
oidc: {
client_id: '9868c1be-0779-4bb3-93e1-f227aa387a43',
client_type: 'PRIVATE',
nonce: 'McTTOAYUkH3ye-X9hhD67N3Kc6lIiSz3unUq54M1s0s',
redirect_uri: 'https://www.sberbank.ru/ru/person',
state: 'af0ifjsldkj',
scope: 'openid name',
response_type: 'code',
name: 'Название вашего приложения'
},
container: '.sberIdButton' // селектор контейнера куда будет встраиваться кнопка
})
.init()
.then((sdk) => {
// завершена инициализация sdk, ваш код если необходимо
});
Параметры инициализации SberidSDK
oidc (Object)(обязательный):
- client_id (String)(обязательный): идентификатор системы Партнера, выданный Партнеру при регистрации его системы в Банке (получено в письме от банка с адреса support@ecom.sberbank.ru с темой «Сбербанк Профиль»)
- client_type (String)(обязательный): Поддерживаемое значение только 'PRIVATE'
- nonce (String)(обязательный): значение используемое для привязки клиентского сеанса к идентификационному токену и для предотвращения повторных атак
- state (String)(обязательный): значение генерируемое случайным образом уникальное значение, предназначен для предотвращения CSRF, максимальная длина строки 96 символов
- scope (String)(обязательный): наименование групп данных, на которые подписана система Партнера (выдается при регистрации системы в Банке). Значение openid является обязательным и располагается на первой позиции. Разделитель – пробел. Полный перечень параметров доступен в разделе Перечень допустимых параметров Scope
- redirect_uri (String)(обязательный): адрес страницы Партнера, на которую будет перенаправлен клиент после успешной аутентификации в системе Банка
- response_type (String)(обязательный): Поддерживаемое значение только 'code'
- name (String)(необязательный): название сервиса партнера
- login_hint (String)(необязательный): Функционал позволяющий передавать номер телефона пользователя для сокращения шага ввода номера телефона и сразу перехода на экран подтверждения входа по смс
personalization (Boolean)(необязательный): включить персонализацию кнопки
container (String)(необязательный): селектор контейнера куда будет встраиваться кнопка "Войти по Сбер ID"
baseUrl (String)(необязательный): позволяет менять домен на котором располагается скрипт, например для отладки на тестовых стендах
debug (Boolean)(необязательный): включить отладочные сообщения
utmProxyDisabled (Boolean)(необязательный): отключить передачу utm меток на страницу входа
display (String)(необязательный): режим отображения страницы авторизации по Сбер ID
- popup: всплывающее окно, работает только в desktop
- page: в текущем окне
buttonProps (Object)(необязательный): настройки отображения кнопки входа
- stretched (Boolean)(необязательный): растянуть кнопку по ширине контейнера
- logo (Boolean)(необязательный): отображать логотип на кнопке
- changeUser (Boolean)(необязательный): добавить на кнопку возможность смены пользователя
- mainText (String)(необязательный): вариант отображаемого текста на кнопке
- default:
Войти по Сбер ID
- resume:
Продолжить со Сбер ID
- login:
Сбер ID
- fill:
Заполнить со Сбер ID
- register:
Зарегистрироваться по Сбер ID
- start:
Начать со Сбер ID
- default:
- personalText (String)(необязательный): вариант отображаемого текста на персонализированной кнопке
- default:
Войти как {{userName}}
- resume:
Продолжить как {{userName}}
- login:
Войти как {{userName}}
- default:
- theme (String)(необязательный): выбор темы кнопки
- light: светлая кнопка
- default: зеленая кнопка
- size (String)(необязательный): размер кнопки
- xxl: height: 64px
- xl: height: 56px
- lg: height: 48px
- md: height: 40px
- sm: height: 32px
- xs: height: 28px
fastLogin (Object)(необязательный): настройки Быстрого входа, вход по куке с поверхности партнера
- enable (Boolean)(необязательный): включить Быстрый вход
- timeout (Number)(необязательный): ограничение по времени в мс на попытку выполнить быстрый вход
- mode (String)(необязательный): режим Быстрого входа
- default: запуск сценария входа стартует после нажатия кнопки Войти по Сбер ID
- auto: запуск сценария входа стартует сразу после инициализации SDK
- onErrorAutoMode (Function)(необязательный): callback функция вызываемая если не удалось осуществить быстрый вход в режиме auto
- onErrorDefaultMode (Function)(необязательный): callback функция вызываемая если не удалось осуществить быстрый вход в режиме default, возвращает boolean значение указывающее необходимость продолжить вход по ссылке
notification (Object)(необязательный): настройки баннера
- enable (Boolean)(необязательный): включить отображение баннера
- position (String)(необязательный): расположение баннера на экране, учитывается только для desktop
- top-right: верхний правый угол экрана
- bottom-right: нижний правый угол экрана
- top-left: верхний левый угол экрана
- bottom-left: нижний левый угол экрана
- autoClose (Boolean)(необязательный): включить автоматическое закрытие баннера, только для мобильных браузеров
- autoCloseDelay (Number)(необязательный): через сколько сек автоматически закры вать баннер, только для мобильных браузеров
- serviceName (String)(необязательный): позволяет указать название сервиса в персонализированном баннере, ограничение 15 символов, иначе используется значение по умолчанию "сервис"
- textOfferExtension (String)(необязательный): дополнить текст соглашения
- theme (String)(необязательный): выбор темы баннера
- white: светлая тема
- dark: темная тема
- onNotificationBannerClose (Function)(необязательный): callback функция на закрытие баннера
- onNotificationBannerOpen (Function)(необязательный): callback функция на открытие баннера
deeplink (Object)(необязательный): настройки входа через deeplink
- enable (Boolean): включить вход с попощью deeplink
- mode (String): режим входа
- manual: запуск сценария входа стартует после нажатия кнопки Войти по Сбер ID
- auto: запуск сценария входа стартует сразу после инициализации SDK
- allowSberIDRedirects (Array[String]): Список разрешенных приложений для авторизации, если задан пустой, то разрешено запускать любое приложение
onSuccessCallback (Function)(необязательный): callback функция вызываемая при успешной аутентификации пользователя, если вход осуществлялся через fastLogin или модальное окно
onErrorCallback (Function)(необязательный): callback функция вызываемая при ошибке аутентификации пользователя, если вход осуществлялся через модальное окно
onButtonClick (Function)(необязательный): callback функция вызываемая при клике по кнопке
onPersonalizationStatus (Function)(необязательный): callback функция вызываемая после проверки возможности отобразить персонализированную кнопку, отработает только если параметр personalization имеет значение true
Параметры управлением SberidSDK
getLink (Function) : функция возвращает ссылку для перехода на страницу Сбер ID
getDeeplink (Function) : функция возвращает deeplink для авторизации через СБОЛ
disable (Function) : функция блокирует кнопку входа по Сбер ID
enable (Function) : функция разб локирует кнопку входа по Сбер ID
notification (Object) : управление баннером
- hide (Function): вызов функции скрывает баннер
- show (Function): вызов функции отображает баннер
- getIsHide (Function): вызов функции возвращает состояние отображения баннера, скрыт баннер или нет
- setPosition (Function): вызов функции устанавливает баннера, только для desktop
- getPosition (Function): вызов функции возвращает текущую позицию баннера, только для desktop
- setTheme (Function): вызов функции устанавливает цветовую тему баннера
- getTheme (Function): вызов функции возвращает текущую цветовую тему баннера
Примеры настройки способов входов
- Настройки входа по кнопке
- Настройки входа по кнопке с открытием формы авторизации в модальном окне
- Настройки входа через баннер
- Настройка автоматического входа
- Настройка входа по ссылке
- Настройка подогрева куки
Перечень допустимых параметров Scope
Параметры scope позволяют указать, к каким данным пользователя вы хотите получить доступ в процессе авторизации. Это важно для соблюдения принципов минимальной необходимости и прозрачности обработки персональных данных. Ниже в таблице представлен список всех доступных scope для Сбер ID:
Scope | Наименование поля в ответе | Описание | Пример |
---|---|---|---|
Пакет Light | |||
openid (обязательно) | sub | Неизменный уникальный идентификатор клиента, передаваемый внешним потребителям. | "sub":"e327493e-979a-461f-9ca5-edfab9d6fbab" |
email | Адрес электронной почты | "email":“personal@mail.ru” | |
mobile | phone_number | Номер телефона | "phone_number":"+7 (000) 000000” |
Пакет Standart | |||
birthdate | birthdate | Дата рождения (формат ГГГГ-ММ-ДД) | "birthdate":"0000-00-00" |
name | family_name , given_name , middle_name | Фамилия Имя Отчество | "family_name":"Фамилия" "given_name":"Имя" "middle_name":"Отчество" |
gender | gender | Пол: 1 – мужчина; 2 – женщина; | "gender":1, |
Пакет Professional | |||
maindoc | identification | Полные данные паспорта: серия,номер,орган, выдавший паспорт,дата выдачи паспорта (формат ГГГГ-ММ-ДД),код подразделения | "identification":{ "series":"00 00", "number":"000000", "issued_by":"Орган выдавший документ", "issued_date":"0000-00-00", "code":"000-000" } |
inn | inn | ИНН номер | "inn":{ "number":"0000000" } |
snils | snils | СНИЛС номер | "snils":{ "number":"0000000" } |
driving_license | driving_license | Номер водительского удостоверения | "driving_license":{ "number":"111111" } |
international_passport | international_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_doc | priority_doc | Данные документа, удостоверяющего личность:тип,серия документа (формат 00 00),номер документа (формат 000000),кем выдан, дата выдачи (формат ГГГГ-ММ-ДД),код. Выводится один документ в соответствии со списком приоритетов:Паспорт РФ, Загранпаспорт гражданина РФ, Военный билет, Паспорт моряка, Временное удостоверение, Паспорт иностранного граданина, Вид на жительство иностранно го гражданина. Доступные типы документов:
| "priority_doc":{ "type":17, "series":"777", "number":"333", "issued_by":"рога и копыта", "issued_date":"1981-01-01", "code":"adasd" } |
citizenship | citizenship | Гражданство: последняя по актуальности страна гражданства (наименование на русском языке) и ее код (ОКСМ, буквенное обозначение – Альфа-3) | "citizenship":{ "country_code":"countryCode", "country_name":"countryName" } |
place_of_birth | place_of_birth | Место рождения – город рождения клиента (текстовое поле, не кодируется) | "place_of_birth":”Nsk” |
address_reg | address_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_address | work_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_residence | address_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_address | delivery_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_employee | is_company_employee | Признак сотрудника ПАО "Сбербанк" | "is_company_employee":true, |
sts | sts | Номер СТС | "sts":{ "number":"00 00 00000" } |
previous_identification | previous_identification | Реквизиты ранее выданного паспорта гражданина РФ: Серия документа, Номер документа, Кем выдан, Дата выдачи | "previous_identification":{ "series":"00 00", "number":"000 000", "issued_by":"Орган выдавший документ", "issued_date":"0000-00-00" } |
previous_name | previous_family_name , previous_given_name , previous_middle_name | Предыдущие фамилия, имя, отчество | "previous_family_name":" |