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