> ## 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.

> Auth0.Android のインストール、初期化、使用方法を学びます

# Auth0.Android

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

GitHub の [Auth0.Android リポジトリ](https://github.com/auth0/Auth0.Android) をご覧ください。

<div id="requirements">
  ## 要件
</div>

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

<div id="installation">
  ## インストール
</div>

SDK をプロジェクトに追加します。このライブラリを使用すると、Auth0 の Authentication API と Management API にリクエストを送信できます。

<div id="add-auth0-to-gradle">
  ### Gradle に Auth0 を追加する
</div>

アプリの `build.gradle` の dependencies セクションに、以下を追加します。

```kotlin lines theme={null}
dependencies {
  // Auth0 Android SDKを追加
  implementation 'com.auth0.android:auth0:4.0.0'
}
```

Android Studio で `+` 記号に lint の警告が出る場合や、固定バージョンを使いたい場合は、最新バージョンを [Maven](https://central.sonatype.com/artifact/com.auth0.android/auth0) で確認してください。

<Card title="Gradle でプロジェクトを同期">
  Android Studio の prompt を使って同期するか、コマンドラインから `./gradlew clean build` を実行することを忘れないでください。
</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'
  }
}
```

<div id="permissions">
  ### 権限
</div>

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

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

<div id="configure-for-universal-login">
  ## Universal Login 向けの設定
</div>

まず、[Auth0 Dashboard > アプリケーション](https://manage.auth0.com/#/applications) に移動し、編集するアプリケーションの名前をクリックします。**Allowed Callback URLs** で、URL が次の形式になっていることを確認します。
`https://YOUR_DOMAIN/android/{YOUR_APP_PACKAGE_NAME}/callback`

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

続いて、`app/build.gradle` ファイルに、Auth0 Domain と Auth0 Scheme のプロパティに対応する [Manifest Placeholders](https://developer.android.com/build/manage-manifests) を追加します。ライブラリはこれを使って、コールバック URI を受け取る `intent-filter` を登録します。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  `Web Authentication` 機能を使用する予定がなく、manifest placeholders も宣言しない場合は、Android アプリの manifest ファイルで activity を手動で再宣言して、マージ後の manifest ファイルから削除できます。これにより、manifest placeholders が不足しているという Gradle の警告を回避できます。

  詳しくは、[FAQ をご覧ください](https://github.com/auth0/auth0.android/blob/main/FAQ.md)。
</Callout>

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

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

        //---> 次の行を追加
        manifestPlaceholders = [auth0Domain: "@string/com_auth0_domain", auth0Scheme: "https"]
        //<---
    }
    //...
}
```

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

<div id="initialize-auth0">
  ## Auth0を初期化する
</div>

Auth0の<Tooltip tip="Client ID: Auth0から登録済みリソースに付与される識別値。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=client+ID">client ID</Tooltip>とドメイン値を使用して、新しい`Auth0`オブジェクトを作成します。このオブジェクトは、後でAuth0のエンドポイントとやり取りする際に使用します。

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

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

<div id="next-steps">
  ## 次のステップ
</div>

[`WebAuthProvider` クラスを使用して、アプリケーションでユーザーのログインとログアウトを行う](/docs/ja-jp/libraries/auth0-android/auth0-android-login-logout-and-user-profiles)

<div id="reset-user-password">
  ### ユーザーのパスワードをリセットする
</div>

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

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

<div id="learn-more">
  ## 詳しくはこちら
</div>

* [Auth0.Android Login、Logout、ユーザープロファイル](/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/libraries/auth0-android/auth0-android-database-authentication)
* [Auth0.Android パスワードレス認証](/docs/ja-jp/libraries/auth0-android/auth0-android-passwordless)
* [Auth0.Android: User Management](/docs/ja-jp/libraries/auth0-android/auth0-android-user-management)
