Автоматический вход без перехода на страницу Сбер ID работает только на chromium браузерах(Chrome, Yandex, Edge, Opera)
Код на странице, где вызывается автоматический вход
Для доступности SberidSDK подключите скрипт https://id.sber.ru/sdk/web/sberid-sdk.production.js на страницу
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: 'Название вашего приложения'
},
notification: {
// отключаем отображение баннера, при использовании автоматического входе отображение баннера не требуется
enable: false,
},
fastLogin: {
enable: true,
mode: 'auto', // включаем сценарий автоматического входа
onErrorAutoMode: () => {
// так как автоматический вход не удался, можем сделать принудительный переход на страницу авторизации
if(linkSberID){
window.location.href = linkSberID;
}
}
},
onSuccessCallback: ({state, code} = {}) => {
if(state && code){
// проверка и отправка данных state, code для завершения авторизации
} else {
// обработка ошибки
}
}
})
.init()
.then((sdk) => {
// завершена инициализация sdk, ваш код если необходимо
// получаем ссылку на страницу авторизации
linkSberID = sdk.getLink();
});