> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Android SDK を使用して、ログインとログアウトの追加、ユーザープロファイルの読み取り方法を学びます。

# Auth0.Android Login、Logout、ユーザープロファイル

<div id="add-login-to-your-android-application">
  ## Androidアプリケーションにログインを追加する
</div>

`WebAuthProvider.login` メソッドを使用して、ユーザーはログインできます。

```kotlin lines theme={null}
WebAuthProvider.login(account)
  .withScheme(getString(R.string.com_auth0_scheme))
  .withScope("openid profile email")
  .start(this, object : Callback<Credentials, AuthenticationException> {
    override fun onFailure(exception: AuthenticationException) {
       // 認証に失敗しました
     }

      override fun onSuccess(credentials: Credentials) {
         // 認証に成功しました
       }
  })
```

認証結果は、`onSuccess` コールバックに渡されます。

`WebAuthProvider` クラスのその他のオプションについては、[Auth0.Android の設定](/docs/ja-jp/libraries/auth0-android/auth0-android-configuration)をご覧ください。

<div id="add-logout-to-your-android-application">
  ## Androidアプリケーションにログアウトを追加する
</div>

ユーザーをログアウトさせるには、`WebAuthProvider.logout` メソッドを呼び出します。ログアウトの結果は `onSuccess` コールバックで返されます。

このメソッドは、認証時にブラウザーに設定されたクッキーを削除するため、ユーザーは次回認証を行う際に資格情報を再入力する必要があります。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  ログアウトがキャンセルされた場合は、ログアウトを試みる前の画面にユーザーを戻すことを検討してください。
</Callout>

```kotlin lines theme={null}
WebAuthProvider.logout(account)
  .withScheme("demo")
  .start(this, object: Callback<Void?, AuthenticationException> {
    override fun onSuccess(payload: Void?) {
      // ユーザーがログアウトしました！
    }

    override fun onFailure(error: AuthenticationException) {
      // エラーが発生しました！
    }
  })
```

<div id="show-the-users-profile">
  ## ユーザーのプロファイルを表示する
</div>

`AuthenticationAPIClient` クラスを使用して、Auth0 からユーザーのプロファイルを取得します。これには次のものが必要です。

* ログイン時に受け取った <Tooltip tip="アクセストークン: API へのアクセスに使用する認可情報で、不透明な文字列または JWT の形式を取ります。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=access+token">アクセストークン</Tooltip>
* `WebAuthProvider.login` の呼び出し時に含める `profile` スコープ
* ユーザーのメールアドレスも取得する場合は `email` スコープ

このサンプルでは、ユーザーのプロファイルを取得し、画面に表示する関数を紹介します。

```kotlin lines theme={null}
var client = AuthenticationAPIClient(account)

// 受け取ったアクセストークンを使って `userInfo` を呼び出し、Auth0からプロファイルを取得します。
client.userInfo(accessToken)
  .start(object : Callback<UserProfile, AuthenticationException> {
      override fun onFailure(exception: AuthenticationException) {
          // エラーが発生しました！
      }

      override fun onSuccess(profile: UserProfile) {
        // ユーザーのプロファイルを取得しました！
        val email = profile.email
        val name = profile.name
      }
})
```
