Auth0.Android

Auth0.Androidは、Androidアプリでユーザーを認証し、Auth0 APIにアクセスするために使用できる、クライアント側のライブラリーです。

GitHubでAuth0.Androidリポジトリを確認してください。

要件

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

インストール

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

Auth0をGradleに追加する

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

dependencies {
  // Add the Auth0 Android SDK
  implementation 'com.auth0.android:auth0:2.+'
}

Was this helpful?

/

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'
  }
}

Was this helpful?

/

権限

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

<uses-permission android:name="android.permission.INTERNET" />

Was this helpful?

/

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

まず、[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を取り込むインテントフィルタを登録します。

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"]
        //<---
    }
    //...
}

Was this helpful?

/

Auth0を初期化する

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

val auth0 = Auth0("YOUR_CLIENT_ID", "YOUR_DOMAIN")

Was this helpful?

/

このオブジェクトは、こちらの使用例にあるように、Android Contextを使用しても初期化できます。

次の手順

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

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

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

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

もっと詳しく