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

# Auth0.Android

> Auth0.Androidをインストール・初期化・使用する方法について説明します。

Auth0.Androidは、Androidアプリでユーザーを認証し、[Auth0 API](/docs/ja-jp/api)にアクセスするために使用できる、クライアント側のライブラリーです。

GitHubで[Auth0.Androidリポジトリ](https://github.com/auth0/Auth0.Android)を確認してください。

## 要件

Android APIバージョン21以降が必要です。

## インストール

SDKをプロジェクトに追加します。ライブラリーはAuth0のAuthentication APIと<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-0" href="/docs/ja-jp/glossary?term=management-api" tip="Management API: 顧客が管理タスクを実行できるようにするための製品。" cta="用語集の表示">Management API</Tooltip>に要求を行います。

### Auth0をGradleに追加する

アプリの`build.gradle`依存関係セクションで、以下を追加します。

```kotlin lines theme={null}
dependencies {
  // Add the Auth0 Android SDK
  implementation 'com.auth0.android:auth0:2.+'
}
```

Android Studioが`+`記号をリンティングする場合、または固定バージョン使用したい場合は、[Maven](http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22auth0%22%20g%3A%22com.auth0.android%22)または[JCenter](https://bintray.com/auth0/android/auth0)で最新バージョンを確認してください。

<Card title="プロジェクトをGradleと同期させる">
  Android Studioのプロンプトを使って同期させるか、コマンドラインから`./gradlew clean build`を実行します。Gradleの使用に関する詳細は、[公式のドキュメンテーション](https://tools.android.com/tech-docs/new-build-system/user-guide)を確認してください。
</Card>

`android`セクションで、AndroidとKotlinのプラグインのそれぞれに対して、Java 8バイトコードをターゲットにするようにします。

```kotlin lines theme={null}
android {
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
  kotlinOptions {
    jvmTarget = '1.8'
  }
}
```

### 権限

アプリケーションの`AndroidManifest.xml`ファイルを開いて、以下の権限を追加します。

```xml lines theme={null}
<uses-permission android:name="android.permission.INTERNET" />
```

## ユニバーサルログインを構成する

まず、[［Dashboard］>［Applications（アプリケーション）］](https://manage.auth0.com/#/applications)の順に移動し、編集するアプリケーションの名前をクリックします。**［Allowed Callback URLs（許可されたコールバックURL）］** で、URLが次の形式であることを確認します：
`https://YOUR_DOMAIN/android/{YOUR_APP_PACKAGE_NAME}/callback`

次に、`{YOUR_APP_PACKAGE_NAME}`を実際のアプリケーションのパッケージ名に置き換えます。これは`app/build.gradle`ファイルに`applicationId`値としてあります。

それから、`app/build.gradle`ファイルで、Auth0ドメインおよびAuth0スキームプロパティの[マニフェストプレースホルダー](https://developer.android.com/studio/build/manifest-build-variables.html)を追加します。これをライブラリーが使用し、コールバックURIを取り込むインテントフィルタを登録します。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Web Authentication機能を使用する予定がなく、マニフェストのプレースホルダーで宣言したくない場合は、Androidアプリのマニフェストファイルで手動でアクティビティを再宣言し、マージされたマニフェストファイルからそれを削除します。これで、マニフェストのプレースホルダーがないことをGradleに指摘されることはなくなります。

  詳細については[FAQ](https://github.com/auth0/Auth0.Android/tree/master#is-the-web-authentication-module-setup-optional)をお読みください。
</Callout>

```kotlin lines theme={null}
apply plugin: 'com.android.application'

android {
    compileSdkVersion 30
    defaultConfig {
        applicationId "com.auth0.samples"
        minSdkVersion 21
        targetSdkVersion 30
        //...

        //---> Add the next line
        manifestPlaceholders = [auth0Domain: "@string/com_auth0_domain", auth0Scheme: "https"]
        //<---
    }
    //...
}
```

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  ハードコードするのではなく、`@string/com_auth0_domain`のように再利用できるリソースを定義しておくと便利です。
</Callout>

## Auth0を初期化する

Auth0クライアントIDとドメインの値を使用して、`Auth0`オブジェクトを新規作成します。オブジェクトは、後でAuth0のエンドポイントとやり取りする際にこれを使用します。

```kotlin lines theme={null}
val auth0 = Auth0("{yourClientId}", "YOUR_DOMAIN")
```

このオブジェクトは、[こちらの使用例](https://github.com/auth0/Auth0.Android/tree/master#usage)にあるように、Android Contextを使用しても初期化できます。

## 次の手順

`WebAuthProvider`クラスを使用して[ユーザーをアプリケーションにログインおよびアプリケーションからログアウト](/docs/ja-jp/libraries/auth0-android/auth0-android-login-logout-and-user-profiles)します。

### ユーザーパスワードのリセット

ユーザーのパスワードリセットを開始するには、ユーザーのメールアドレスとデータベース接続をパラメーターとして使用して`resetPassword`を呼び出します。

パスワードリセット要求は、ネットワーク関連のエラーが発生すると失敗しますが、指定されたメールがデータベースに存在しない場合には失敗しません（セキュリティ上の理由）。

## もっと詳しく

* [Auth0.Androidのログイン、ログアウト、およびユーザープロファイル](/docs/ja-jp/libraries/auth0-android/auth0-android-login-logout-and-user-profiles)
* [Auth0 Androidの構成オプション](/docs/ja-jp/libraries/auth0-android/auth0-android-configuration)
* [Auth0.Androidデータベース認証](/docs/ja-jp/auth0-android-database-authentication)
* [Auth0.Androidパスワードレス認証](/docs/ja-jp/auth0-android-passwordless)
* [Auth0.Androidでトークンを保存および更新する](/docs/ja-jp/auth0-android-save-and-renew-tokens)
* [Auth0.Android：ユーザー管理](/docs/ja-jp/auth0-android-user-management)
