要件
Auth0.Androidライブラリを介してLockのUIまたはご自身のUIを使用するために最低限必要なAndroid APIレベルは21以上でJavaバージョン8以上です。また、「ネイティブ」タイプのAuth0アプリケーションも必要です。 以下に、Java 8バイトコードをAndroidとKotlinプラグインのそれぞれのターゲットにするために何がbuild.gradle
に必要なのかを示します。
インストール
LockはMaven Centralで利用可能です。Lockを開始するには、以下の行をbuild.gradle
依存関係ファイルに追加します:
implementation 'com.auth0.android:lock:3.+'
最新バージョンはリポジトリのReadmeまたはMavenで確認できます。
Gradleの依存関係を追加したら、プロジェクトをGradleファイルと忘れずに同期させます。
Dashboardの設定
開始する前に、Auth0 Dashboardでいくつかの設定を行う必要があります。Callback URL
にアクセスして、アプリケーションの設定に移動します。以下のURLをアプリケーションの [Allowed Callback URLs(許可されているCallback URL)] に追加します。https://{yourDomain}/android/{yourAppPackageName}/callback
{yourAppPackageName}
を、app/build.gradle
ファイルでapplicationId
値として利用可能な実際のアプリケーションのパッケージ名に置き換えます。
キーストアおよびキーハッシュ
Androidアプリケーションは、デバイスにインストールする前に、署名される必要があります。このため、Android Studio IDEは初めての実行時にデフォルトの「Androidデバッグキーストア」を生成し、それを使用して開発ビルドに署名します。このキーストアは、あなたを開発者として識別するために使用されるため、プロダクションビルドのものとはおそらく異なります。 Web Authentication機能(つまり、ソーシャル接続)を使用するとき、Lockは、Androidアプリリンクの使用を試行するようにデフォルトでセットアップされます。これは、Auth0アプリケーションのDashboardでの追加設定を必要とします。Androidのキーストアおよびキーハッシュのガイドを使用して、このステップを完了してください。Lockの実装(ソーシャル、データベース、エンタープライズ)
以下では、AndroidへのClassic Lockの実装について説明しています。AndroidにパスワードレスのLockを実装する情報をお探しの場合には、「Lock.Android:パスワードレス」を参照してください。SDKの構成
app/build.gradle
ファイルで、Auth0ドメインおよびAuth0スキームプロパティにマニフェストファイルを追加すると、それがライブラリによって内部で使用され、認証結果を取り込むインテントフィルタを登録します。
strings.xml
ファイルに追加することをお勧めします。このガイドではそのプラクティスに従います。
SDKの使用方法
Lockを起動する予定のアクティビティで、アプリケーションの情報を用いてAuth0
のインスタンスを作成します。最も簡単な作成方法は、AndroidのContextを渡す方法です。これは、strings.xml
ファイルで以前定義した値を使用します。これを行うには、文字列リソースが上記のものと同じキーを使用して定義されなければなりません。
AuthenticationCallback
実装を宣言します。正常な認証シナリオで返されるCredentials
オブジェクトには、アプリケーションまたはAPIが最終的に利用するトークンが含まれます。詳細については、「トークン」をご覧ください。
onDestroy
メソッド内です。
Lock
ウィジェットを起動します。
Androidアプリリンク - カスタムスキーム
この記事で使用されており、LockのデフォルトであるCallback URLスキームはhttps
です。これは、Androidアプリリンクを使用している場合は、Android Marshmallow(API 23)以降で最適に機能しますが、それより前のAndroidバージョンについては、ユーザーにインテント選択ダイアログを表示して、そのインテントを解決するためにアプリケーションかブラウザを選択させる場合があります。これは「曖昧さ回避ダイアログ」と呼ばれます。カスタムの固有スキームを使用して、OSがアプリで直接リンクを開くようにすることで、この動作を変更できます。
- 既存のスキームを新規のものに変更して、
app/build.gradle
ファイル、または直接AndroidManifest.xml
ファイルのインテントフィルタ定義のauth0Scheme
マニフェストファイルの値を更新します。 - Auth0 Dashboardのアプリケーションの設定の[Allowed Callback URLs(許可されているCallback URL)]を新規スキームから始まるURLに一致するように更新します。
- ビルダーでLockを構成するときに、使用したいスキームを渡して
withScheme()
を呼び出します。
スキーム値はすべて小文字でなければなりません。そうでない場合は、警告メッセージがログに記録され、認証が完了することはありません。
ロックの構成
Lockの構成オプションの完全リストについては、「Lock.Android:構成」を確認してください。エラーメッセージ
一般的なエラーメッセージの説明については、エラーメッセージのページをご覧ください。また、コールバックがAuthenticationException
を受け取った場合は、ソースを確認してそれぞれのエラーシナリオを特定する方法を知ることができます。