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

要件

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

インストール

SDKをプロジェクトに追加します。ライブラリーはAuth0のAuthentication APIとに要求を行います。

Auth0をGradleに追加する

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

プロジェクトをGradleと同期させる

Android Studioのプロンプトを使って同期させるか、コマンドラインから./gradlew clean buildを実行します。Gradleの使用に関する詳細は、公式のドキュメンテーションを確認してください。
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" />

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

まず、[Dashboard]>[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スキームプロパティのマニフェストプレースホルダーを追加します。これをライブラリーが使用し、コールバックURIを取り込むインテントフィルタを登録します。
Web Authentication機能を使用する予定がなく、マニフェストのプレースホルダーで宣言したくない場合は、Androidアプリのマニフェストファイルで手動でアクティビティを再宣言し、マージされたマニフェストファイルからそれを削除します。これで、マニフェストのプレースホルダーがないことをGradleに指摘されることはなくなります。詳細についてはFAQをお読みください。
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"]
        //<---
    }
    //...
}
ハードコードするのではなく、@string/com_auth0_domainのように再利用できるリソースを定義しておくと便利です。

Auth0を初期化する

Auth0クライアントIDとドメインの値を使用して、Auth0オブジェクトを新規作成します。オブジェクトは、後でAuth0のエンドポイントとやり取りする際にこれを使用します。
val auth0 = Auth0("YOUR_CLIENT_ID", "YOUR_DOMAIN")
このオブジェクトは、こちらの使用例にあるように、Android Contextを使用しても初期化できます。

次の手順

WebAuthProviderクラスを使用してユーザーをアプリケーションにログインおよびアプリケーションからログアウトします。

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

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

もっと詳しく

I