> ## 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 のログイン、ログアウト、ユーザープロファイルの取得

<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 configuration](/ja/docs/libraries/auth0-android/auth0-android-configuration)を参照してください。

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

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

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

<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="/ja/docs/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
      }
})
```
