---
metadata:
  - name: generator
    content: Diplodoc Platform v5.44.0
alternate:
  - https://yandex.com/dev/id/doc/en/mobileauthsdk/android/archive/2.5.1/sdk-android-methods.md
  - https://yandex.com/dev/id/doc/ru/mobileauthsdk/android/archive/2.5.1/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}

* Создание `Intent` для запуска процесса авторизации.

   ```java
   @NonNull
   public Intent createLoginIntent(
         @NonNull final YandexAuthLoginOptions loginOptions
   )
   ```

   * `loginOptions` — параметры для запуска авторизации.


* Обработка результата авторизации.

   ```java
   public YandexAuthToken extractToken(final int resultCode, @Nullable final Intent data) throws YandexAuthException 
   ```

**Описание:** 

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

   ```java
   public String getJwt(@NonNull final YandexAuthToken token) throws YandexAuthException
   ```

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

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

### Методы {#yaloginsdkconfig-methods}

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

   ```java
   public YandexAuthOptions(@NonNull final Context context, final boolean loggingEnabled) 
   ```

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

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

   ```java
   public String clientId() 
   ```

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

   ```java
   public boolean isLoggingEnabled() 
   ```

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

Класс параметров авторизации. Непосредственно использовать экземпляры класса не нужно: необходимо создавать их с помощью `YandexAuthLoginOptions.Builder.build()` и без изменений передавать в метод [createLoginIntent](#yaloginsdk).

## Класс YandexAuthLoginOptions.Builder {#yandexauthloginoptions-builder}

Класс для создания наборов параметров авторизации. Создав экземпляр этого класса, следует задать параметры авторизации и сконструировать экземпляр `YandexAuthLoginOptions`.

### Методы {#yandexauthloginoptions-builder-methods}

* Создание экземпляра класса `YandexAuthLoginOptions`. Перед
 вызовом `build()` следует установить нужные параметры авторизации с
 помощью методов, перечисленных выше.

   ```java
   public YandexAuthLoginOptions build() 
   ```

* Определение прав доступа, которые необходимо получить.

   ```java
   public setScopes(List<String> scopes) 
   ```

* Выбор режима авторизации пользователя.

   ```java
   public setLoginType(LoginType.<режим авторизации>).build()
   ```

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

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

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

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

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

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

### Методы {#token-methods}

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

   ```java
   public YandexAuthToken(@NonNull final String value, final long expiresIn)
   ```

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

   ```java
   public String getValue()
   ```

* Получение времени жизни токена.
   
   ```java
   public long expiresIn()
   ```
