要件
build.gradle には次の内容が必要です。
インストール
build.gradle の dependencies に追加します。
implementation 'com.auth0.android:lock:3.+'
最新バージョンは、リポジトリの Readme または Maven で確認できます。
Gradle の依存関係を追加したら、Gradle ファイルとプロジェクトを同期することを忘れないでください。
Dashboard の設定
コールバックURL
https://{yourDomain}/android/{yourAppPackageName}/callback
{yourAppPackageName} は、app/build.gradle ファイルの applicationId の値として確認できる、実際のアプリケーションのパッケージ名に置き換えてください。
キーストアとキーハッシュ
SDK の設定
app/build.gradle ファイルに、Auth0 のドメインと Auth0 のスキームのプロパティ用の Manifest Placeholders を追加します。これらは、認証結果を受け取る intent-filter を登録するために、ライブラリ内部で使用されます。
strings.xml ファイルに追加しておくことをおすすめします。このガイドでも、その方法に従います。
SDK の使用方法
Auth0 のインスタンスを作成します。最も簡単な作成方法は、Android の Context を渡すことです。これにより、strings.xml ファイルで事前に定義した値が使用されます。これを機能させるには、文字列リソースを上記の一覧と同じキーで定義する必要があります。
AuthenticationCallback の実装を定義します。認証が成功した場合に返される Credentials オブジェクトには、最終的にアプリケーションまたは API が使用するトークンが含まれます。詳細については、Tokens を参照してください。
onDestroy メソッドです。
Lock ウィジェットを起動します。
Android App Links - カスタムスキーム
https です。Android App Links を使用している場合、Android Marshmallow (API 23) 以降ではこれが最適ですが、それ以前の Android バージョンでは、インテントの処理先としてアプリケーションとブラウザーのどちらを使用するかをユーザーに選択させるインテント選択ダイアログが表示されることがあります。これは「曖昧性解消ダイアログ」と呼ばれます。この動作は、一意のカスタムスキームを使用することで変更できます。そうすると、OS はリンクを直接アプリで開きます。
app/build.gradleファイルのauth0SchemeManifest Placeholder 値、またはAndroidManifest.xmlファイル内の Intent Filter 定義を直接更新し、既存のスキームを新しいものに変更します。- Auth0 Dashboard のアプリケーション設定で Allowed Callback URLs を更新し、新しいスキームで始まる URL に一致するようにします。
- ビルダーで Lock を設定する際に
withScheme()を呼び出し、使用するスキームを渡します。
スキームの値は、すべて小文字である必要があります。そうでない場合は警告メッセージがログに記録され、認証は完了しません。
Lock の設定
エラーメッセージ
AuthenticationException を受け取った場合は、各エラーケースの見分け方を source で確認できます。