Skip to main content
Auth0.Android は、Android アプリでユーザーを認証し、Auth0 APIs にアクセスするために使用できるクライアントサイドライブラリです。 GitHub の Auth0.Android repository を参照してください。

要件

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

インストール

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

Gradle に Auth0 を追加する

アプリのbuild.gradleの依存関係セクションに、次を追加します。
dependencies {
  // Auth0 Android SDKを追加する
  implementation 'com.auth0.android:auth0:2.+'
}
Android Studio で + 記号に lint の警告が出る場合、または固定バージョンを使用したい場合は、最新バージョンを Maven で確認してください。

Gradle でプロジェクトを同期

Android Studio の案内に従って同期するか、コマンドラインから ./gradlew clean build を実行してください。
android セクションでは、Android プラグインと Kotlin プラグインのそれぞれで、Java 8 バイトコードをターゲットにしてください。
android {
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
  kotlinOptions {
    jvmTarget = '1.8'
  }
}

権限

アプリケーションの AndroidManifest.xml ファイルを開き、次の権限を追加します。
<uses-permission android:name="android.permission.INTERNET" />

Universal Login 用に設定する

まず、Dashboard > 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 のドメインおよび Auth0 Scheme プロパティ用の Manifest Placeholders を追加します。ライブラリはこれらを使用して、コールバック URI を受け取る intent-filter を登録します。
Web認証 機能を使用する予定がなく、マニフェスト プレースホルダーを宣言しない場合は、Android アプリのマニフェスト ファイルで activity を手動で再宣言することで、マージ後のマニフェスト ファイルから削除できます。これにより、マニフェスト プレースホルダーが不足しているという Gradle の警告を回避できます。詳しくは、FAQ を参照してください
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"]
        //<---
    }
    //...
}
単にハードコーディングするのではなく、@string/com_auth0_domain のような再利用可能なリソースとして定義することをおすすめします。

Auth0 を初期化する

Auth0 の とドメインを使用して、新しい Auth0 オブジェクトを作成します。このオブジェクトは、後で Auth0 のエンドポイントとやり取りするときに使用されます。
val auth0 = Auth0("{yourClientId}", "YOUR_DOMAIN")
このオブジェクトは、この使用例のように、Android Context を使って初期化することもできます。

次のステップ

WebAuthProvider クラスを使用して、アプリケーションでユーザーのログインとログアウトを行う

ユーザーのパスワードをリセットする

ユーザーのパスワードリセットを開始するには、ユーザーのメールアドレスとデータベース接続の名前をパラメータとして指定して、resetPassword を呼び出します。 パスワードリセットのリクエストは、ネットワーク関連のエラーが発生した場合は失敗しますが、指定したメールアドレスがデータベース内に存在しない場合でも失敗しません (セキュリティ上の理由によります) 。

詳細