Lock.Android:マジックリンクを使ったPasswordless
Androidアプリでパスワードレス認証のために送信されるワンタイムパスワードをユーザーに入力してもらう手間を省くため、ユーザーが手動で入力することなくタップしてログインできるリンクを送信する機能を導入しました。
これらのリンクには、従来のパスワードレスフローで使用されるのと同じコードが含まれていますが、正しく設定することで、これらのリンクはお客様のアプリケーションに直接アクセスできるようになります。
Auth0 Dashboardの設定
[Application Settings(アプリケーションの設定)]に移動し、ページ下部の[Show Advanced Settings(詳細設定を表示)]をクリックします。次に、[Device Settings(デバイス設定)]タブで、Androidアプリケーションのパッケージ名と証明書のキーハッシュの両方を指定する必要があります。
[App Package Name(アプリパッケージ名)]:これは、アプリのマニフェストで宣言されたパッケージ名です。また、
app/build.gradle
ファイルではapplicationId
属性として利用できます。両方の値が同じでない場合は、applicationId
の値を使用してくださいたとえば、com.example.android.myapp
などです。[Key Hashes(キーハッシュ)]:これは、当社のAndroidアプリの署名証明書のSHA256フィンガープリントです。カンマで区切ることで、複数含めることができます。リリースキーストアとデバッグキーストアのフィンガープリントの両方をここで指定できます。以下のセクションでは、それらを入手する方法について説明します。たとえば、
DE:1A:5B:75:27:AA:48:D5:A6:72:2F:76:43:95:9B:79:C6:86:1A:5B:75:27:AA:48:D5:A6:73:FE
などです。
値を設定したら、必ず[Save Changes(変更を保存)]をクリックします。
署名証明書のフィンガープリントを取得する
次のコマンドを使用して、JavaキーツールCLIを介してフィンガープリントを生成します。
keytool -list -v -keystore my-release-key.keystore
または、次のコマンドでデフォルトのデバッグキーを取得します。
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
ダッシュボードで必要とされる値は、「SHA256」としてリストされているものです。キーストアの詳細については、こちらの公式記事をお読みください。
メール接続を有効にする
マジックリンクを使ったPasswordlessは、「email」タイプのパスワードレス接続でのみ機能します。Dashboard > Passwordless接続用の[Authentication(認証)]に移動し、[Email(メール)]をクリックします。ポップアップが開き、HTML + Liquidメールテンプレートが編集可能になります。本文に次のような条件が含まれていることを確認します。
{% if send == 'link' or send == 'link_ios' or send == 'link_android' %}
Your verification link is: {{ link }}
{% elsif send == 'code' %}
Your verification code is: {{ code }}
{% endif %}
Was this helpful?
SDKの構成
Auth0アプリケーションの設定が完了したので、passwordlessドキュメントに書かれているように、指示に従ってLock.Android
を使用してPasswordlessLockを設定します。
SDKの使用方法
Lock Passwordlessは、ワンタイムパスワードを記載したメールをユーザーに送信することで認証を行います。この場合、コードではなくリンクが送信されます。Passwordlessクラシックの指示に従っている場合は、useCode()
の呼び出しを削除し、useLink()
に置き換えるだけで済みます。
最後に、アクティビティの中からPasswordlessLock
ウィジェットを起動します。
startActivity(lock.newIntent(this))
Was this helpful?
リンクを要求した後、次の画面に、ログインするにはユーザーがそのリンクをタップする必要があることが示されます。それができない場合でも、ユーザーは受信したメールのリンクをクリックした後に表示されるコードを入力できます。
任意:Android App Linksを使用する
LockライブラリはApp Linksと併用できます。これはAndroid 6.0(APIレベル23)以降で利用できる機能で、リンクを開く際にブラウザーを使用するかアプリを使用するかを確認する明確化ダイアログを表示することなく、アプリが特定の種類のリンクのデフォルトハンドラーとして自身を指定できます。
これは、ユーザーがAndroidデバイスの設定で、そのURIパターンを処理するデフォルトのアプリをまだ選択していない限り有効です。
リンクの自動処理には、お客様のアプリとAuth0のWebサイトの連携が必要です。アプリはそのWebサイトとの関連性を宣言し、システムに確認を求める必要があります。一方、Webサイトは、デジタルアセットリンクファイルを公開することでその検証を提供する必要があります。
前述のように[App Package Name(アプリパッケージ名)]と[Key Hash(キーハッシュ)]を設定すると、Auth0はこのデジタルアセットリンクファイルを自動的に生成します。この記事の手順をすべて実行した場合は、ファイルが利用可能になり、次回、Androidアプリケーションをインストールした際に確認されます。
App Linksの詳細については、Androidのドキュメントをご覧ください。