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

AuthEvents

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

Интерфейс, представляющий события авторизации. Позволяет отслеживать ключевые моменты процесса аутентификации: отказы, результаты, ошибки, переинициализации. Реализует общий интерфейс SIDEvents.

КлассОписаниеУсловия возникновения
WebAuthRejectОтмена авторизации на любом этапеПользователь явно отказался от процесса аутентификации (нажал "Назад", "Отмена" или закрыл окно) в WebView, CustomTab или диалоговом окне
ReLoginStatusRejectОтказ в сценарии релогина ЕЛКПользователь прервал процесс повторного входа (закрыл окно релогина или отменил операцию)
ReLoginIsLiteЗапуск события повторного логинаНачало процесса переаутентификации пользователя без полного выхода из системы (инициируется системой ЕЛК)
ReLoginStatusРезультат прохождения сценария релогинаЗавершение процесса релогина с получением результата (успешного или ошибочного) и callback для продолжения сценария
WebViewErrorОшибка в WebViewВозникает при проблемах с загрузкой или открытием веб-контента (поврежденная ссылка, отсутствующий URI, сетевые ошибки)

Реализации

WebAuthReject

Отмена авторизации на любом этапе (WebView/CustomTab/Dialog). Пользователь явно отказался от процесса аутентификации.

Пример использования:

when (event) {
AuthEvents.WebAuthReject -> {
// Пользователь нажал "Назад" или "Отмена"
}
}

ReLoginStatusReject

Отказ в сценарии релогина ЕЛК (например, пользователь закрыл окно). Указывает на прерывание процесса повторного входа.

Пример использования:

when (event) {
AuthEvents.ReLoginStatusReject -> {
// Пользователь прервал процесс релогина
}
}

ReLoginIsLite

Запуск события повторного логина. Инициирует процесс переаутентификации пользователя без полного выхода из системы.

Пример использования:

when (event) {
AuthEvents.ReLoginIsLite -> {
// Начало процесса релогина
}
}

ReLoginStatus

Событие прохождения сценария релогина. Содержит результат авторизации и callback для продолжения пользовательского сценария.

Поля:

ПолеТипОписание
resultSIDResultModelРезультат логина через WebView
continueAppToWeb(String?) -> UnitЛямбда для возможности продолжить пользовательский сценарий

Пример использования:

is AuthEvents.ReLoginStatus -> {
val (result: SIDResultModel, continueAppToWeb: (userID: String?) -> Unit) = authEvents
if (result.isSuccess == true) {
//Тут будет поход в сеть для регистрации нового токена и в зависимости от результата мы
//можем отправить в лямбду null значение, то есть грубо говоря пример ниже -
val isSuccess = vm.sendToken(result.authCode)

if (isSuccess) {
continueAppToWeb.invoke("userID")
} else {
continueAppToWeb.invoke(null (или ""))
}
} else {
continueAppToWeb.invoke(null (или ""))
//Тут можно сделать любые действия для лучшего взаимодействия с пользователем.
}
}

WebViewError

Ошибка в WebView (например, поврежденная ссылка или отсутствующий URI). Возникает при проблемах с загрузкой или открытием веб-контента.

Конструктор:

ПараметрТипОписание
errorLinkString?Ошибка в URL (если доступна)
uriIsNullBooleanФлаг: URI пустой

Методы:

МетодВозвращаемый типОписание
toString()StringСтроковое представление объекта

Пример использования:

is AuthEvents.WebViewError -> {
if (event.uriIsNull) {
// Критическая ошибка - отсутствует URI для авторизации
analytics.logEvent("auth_uri_missing")
showErrorDialog("Не удалось начать авторизацию")
logToCrashlytics("WebViewError: URI is null")
} else {
// Ошибка загрузки страницы
analytics.logEvent("webview_load_error", mapOf(
"error_link" to event.errorLink
))
showRetryDialog {
retryAuthWithAlternativeMethod()
}
}
}

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

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

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