Использование
Для получения токенов выполните следующие действия:
Шаг 1. Инициализация
-
В
build.gradle
вашего приложения добавьте код:android { defaultConfig { manifestPlaceholders = [YANDEX_CLIENT_ID:"<идентификатор приложения_clientID>"] } }
- Идентификатор приложения Client ID доступен в свойствах приложения.
-
Для инициализации используйте код:
KotlinJavaval sdk = YandexAuthSdk.create(YandexAuthOptions(requireContext()))
YandexAuthSdk sdk = YandexAuthSdk.create(new YandexAuthOptions(requireContext()));
Шаг 2. Авторизация
-
Запустите авторизацию:
KotlinJavaval sdk = YandexAuthSdk.create(YandexAuthOptions(requireContext())) val launcher = registerForActivityResult(sdk.contract) { result -> handleResult(result) } val loginOptions = YandexAuthLoginOptions() launcher.launch(loginOptions)
YandexAuthSdk sdk = YandexAuthSdk.create(new YandexAuthOptions(requireContext())); ActivityResultLauncher<YandexAuthLoginOptions> launcher = registerForActivityResult(sdk.getContract(), result -> handleResult(result)); YandexAuthLoginOptions loginOptions = new YandexAuthLoginOptions(); launcher.launch(loginOptions);
-
Для обработки событий авторизации используйте код вида:
KotlinJavaprivate fun handleResult(result: YandexAuthResult) { when (result) { is YandexAuthResult.Success -> onSuccessAuth(result.token) is YandexAuthResult.Failure -> onProccessError(result.exception) YandexAuthResult.Cancelled -> onCancelled() } }
private void handleResult(YandexAuthResult result) { if (result instanceof YandexAuthResult.Success) { onSuccessAuth(((YandexAuthResult.Success) result).getToken()); } else if (result instanceof YandexAuthResult.Failure) { onProccessError(((YandexAuthResult.Failure) result).getException()); } else { onCancelled(); } }
Шаг 3. Получение JSON Web Token
Для получения JSON Web Token используйте метод:
Kotlin
Java
sdk.getJwt(yandexAuthToken)
sdk.getJwt(yandexAuthToken);
Полученный токен можно обменять на информацию о пользователе.