---
metadata:
  - name: generator
    content: Diplodoc Platform v5.44.0
alternate:
  - https://yandex.com/dev/id/doc/en/mobileauthsdk/android/archive/3.1.0/sdk-android-methods.md
  - https://yandex.com/dev/id/doc/ru/mobileauthsdk/android/archive/3.1.0/sdk-android-methods.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/id/doc/ru/llms.txt

# Справочник функций

## Класс YandexAuthSdk {#yaloginsdk}

Класс авторизации.

### Свойства и функции {#yaloginsdk-methods}

* Контракт для запуска активити LoginSDK.

   Предназначен для использования с функцией `registerForActivityResult()` согласно [документации](https://developer.android.com/training/basics/intents/result). В качестве входных параметров используется `YandexAuthLoginOptions`. В качестве результата возвращается `Result<YandexAuthToken?>`.

   ```java
   val contract: YandexAuthSdkContract
   ```

* Получение [JSON Web Token](https://yandex.com/dev/id/doc/ru/tokens/jwt.md).

   ```java
   fun getJwt(token: YandexAuthToken): String
   ```


## Класс YandexAuthSdkContract {#yaloginsdkconfig}

Класс настройки LoginSDK. 

### Свойства и функции {#yaloginsdkconfig-methods}

* Создание конфигурации LoginSDK. Идентификатор клиентского приложения берется из `build.gradle`.

   ```java
   YandexAuthOptions(context: Context, loggingEnabled: Boolean = false)
   ```

   где `loggingEnabled` — признак разрешенного логирования сообщений от LoginSDK.

* Получение [идентификатора приложения](https://yandex.com/dev/id/doc/ru/register-client.md#app-params).

   ```java
   val clientId: String
   ```

* Получение признака разрешенного логирования сообщений от LoginSDK.

   ```java
   val isLoggingEnabled: Boolean
   ```


## Класс YandexAuthLoginOptions {#yandexauthloginoptions}

Класс параметров авторизации. Необходимо передавать экземпляр этого класса в метод `launch()` при запуске процесса авторизации.

### Свойства и функции {#yandexauthloginoptions-methods}

* Создание экземпляра класса `YandexAuthLoginOptions`.

   ```java
   YandexAuthLoginOptions(val loginType: LoginType = LoginType.NATIVE)
   ```

   где `LoginType` определяет режим авторизации пользователя.

   Возможные режимы:

   * `NATIVE` — авторизация будет происходить через приложение Яндекса, которое поддерживает авторизацию. Авторизация возможна через приложения:
      
      * Яндекс Браузер
      * Яндекс Старт
      * Яндекс — с Алисой
      * Яндекс GO
      * Яндекс Почта
      * Яндекс Диск
      * Яндекс Пэй
      * Яндекс Ключ

      Если ни одно приложение из списка не установлено, при авторизации откроется Chrome Tab браузера, который установлен в системе на устройстве. Если браузер по умолчанию не поддерживает Chrome Tab, откроется [WebView](https://developer.android.com/develop/ui/views/layout/webapps/webview).

   * `CHROME_TAB` — авторизация будет происходить через Chrome tab браузера, который установлен по умолчанию на устройстве. Если бразуер по умолчанию не поддерживает Chrome Tab, откроется [WebView](https://developer.android.com/develop/ui/views/layout/webapps/webview).

   * `WEBVIEW` — авторизация будет происходить через [WebView](https://developer.android.com/develop/ui/views/layout/webapps/webview).

* Получение режима авторизации пользователя, переданного в конструкторе.

   ```java
   val loginType: LoginType
   ```


## Интерфейс YandexAuthResult {#result}

Результат, возвращающийся от LoginSDK после авторизации. Представляет собой sealed interface, который имеет три возможных наследника.

### Наследники {#result-instances}

* Успешная авторизация.

   ```java
   data class Success(val token: YandexAuthToken) : YandexAuthResult
   ```
   
   где `token` — токен, выданный в результате успешной авторизация.

* Неуспешная авторизация.

   ```java
   data class Failure(val exception: YandexAuthException) : YandexAuthResult
   ```
   
   где `exception` — ошибка, возникшая в результате авторизации.

* Отмена авторизации пользователем.

   ```java
   object Cancelled : YandexAuthResult
   ```


## Класс YandexAuthToken {#token}

Класс, возвращающийся от LoginSDK после успешной авторизации.

### Свойства и функции {#token-methods}

* Создание токена и получение информации о нем: значение, тип и время активности токена.

   ```java
   class YandexAuthToken(val value: String, val expiresIn: Long)
   ```

* Получение значения токена.

   ```java
   val value: String
   ```

* Получение времени жизни токена.
   
   ```java
   val expiresIn: Long
   ```
