Поддержка бесшовной авторизации
Что такое бесшовных вход можно прочитать тут Описания сценариев бесшовного входа. Здесь вы найдете информацию о необходимых изменениях в вашем Android-приложении для поддержки бесшовного входа.
Ваше приложение может использовать бесшовную авторизацию через Сбер ID. Это позволяет пользователям переходить между приложением СберБанк Онлайн и вашим приложением без необходимости вручную запускать процесс авторизации.
При открытии в ваше приложение через диплинк, в нем будет присутствовать дополнительный параметр sberIDRedirect
. Он содержит информацию о схеме и хосте uriScheme
, необходимую для запуска процесса авторизации через Сбер ID.
Чтобы получить значение uriScheme
, используйте метод SID.Login.getSeamlessUriScheme(uri)
. Передайте в него исходный URI
, полученный при переходе в ваше приложение в сценарии бесшовной авторизации (URI находится в intent.data).
Полученную схему uriScheme
нужно передать в поле uriScheme метода SID.Login.createUriForLogin()
, а затем запустить метод SID.Login.loginWithID(this, uri)
.
Для работы необходимо инициализировать SDK до вызова методов авторизации
// Получаем uriScheme
val data = intent.data
val uriScheme = SID.Login.getSeamlessUriScheme(data)
// Полученное значение необходимо передать в следующий метод `SID.Login.createUriForLogin` при создании диплинка авторизации.
val uri = SID.Login.createUriForLogin(
clientId = "clientId вашего сервиса",
scope = "добавьте все необходимые вам scope",
state = "random_state",
nonce = "random_nonce",
redirectUri = "partner://redirect",
codeChallenge = codeChallenge,
codeChallengeMethod = PkceUtils.getCodeChallengeMethod()
uriScheme = uriScheme
)
// Запуск авторизации с полученной uriScheme
SID.Login.autoAuth(this, uri)