Развернуть
Быстрый старт подключения Android SDK Сбер ID
Обновлено 30 января 2026
Страница быстрого старта предназначена для краткого описания основных шагов интеграции и поможет вам быстро запустить авторизацию через Сбер ID в вашем приложении. Здесь приведен только необходимый минимум действий, без углубления в детали. За подробным описанием всех параметров, сценариев и примеров кода обратитесь к полной документации по SDK.
1. Подключение
- Добавьте репозиторий:
repositories {
mavenCentral()
}
- Подключите последнюю версию SIDSDK_CORE:
implementation("io.github.sid-sdk:SIDSDK_CORE:1.1.0")
2. Инициализация и настройка SDK
При запуске приложения в Application вызывите метод SID.Initializer.initialize(), далее примените настройки SID.Settings.setMainSettings.
class App : Application() {
override fun onCreate() {
super.onCreate()
// 1. Инициализации SDK
SID.Initializer.initialize(application = this)
// 2. Настройка основных параметров в SIDSDK_CORE
SID.Settings.setMainSettings(clientID = "ваш_clientID")
...
}
3. Отображение кнопки
AndroidView(
factory = { context ->
SIDButton(
context = context,
sidButtonModel = SIDButtonModel(
width = 300,
height = 60,
cornerRadius = 4,
)
)
},
modifier = Modifier.wrapContentSize(),
)
<sid.sdk.auth.view.SIDButton
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
4. Сформировать запрос и запустить авторизацию
//Создание параметров для поддержки протокола 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)
5. Получение ответа от Сбер ID
5.1 Добавьте обработку диплинка для вашей активити:
<activity android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"> //для обработки deeplink в той же activity
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="redirect"
android:scheme="partner" />
</intent-filter>
</activity>
5.2 Обработку диплинка для вашей активити:
//В методе onNewIntent, если применить для activity android:launchMode="singleTop"
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
val resultModel = SID.Login.getIDAuthResult(intent)
if (resultModel.isSuccess == true) {
// Отправьте result.authCode, resultModel.state, resultModel.nonce и codeVerifier (см шаг 4) на свой бэк для окончания авторизации
} else {
// Ошибка, отобразите пользователю, что вход не получился
}
}
6. Завершение работы на клиенте
После получения authCode, state, nonce и codeVerifier отправьте их на ваш бэкенд. Бэкенд по протоколу OAuth 2.0 + PKCE обменивает authCode на токены и создает сессию пользователя. На стороне мобильного приложения дополнительных действий не требуется.