Skip to main content
Android アプリで 認証用に送信されるワンタイムパスワードをユーザーに入力させずに済むよう、手動入力なしでタップするだけでログインできるリンクを送信する機能が導入されました。 これらのリンクには、従来のパスワードレスフローで使用されるものと同じ code が含まれていますが、正しく設定すれば、リンクから直接アプリケーションを開けます。

Auth0 Dashboard の設定

アプリケーション設定に移動し、ページ下部にある Show Advanced Settings をクリックします。次に、「Device Settings」タブで、Android アプリケーションの Package Name と証明書の Key Hash の両方を設定する必要があります。
  • App Package Name: アプリのマニフェストで宣言されているパッケージ名です。app/build.gradle ファイルの applicationId 属性でも確認できます。両方の値が一致しない場合は、applicationId の値を使用してください。例: com.example.android.myapp
  • Key Hashes: Android アプリの署名証明書の SHA256 フィンガープリントです。カンマ区切りで複数指定できます。ここには、リリース用とデバッグ用の keystore フィンガープリントの両方を指定できます。取得方法については、以下のセクションで説明します。例: 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 の keytool CLI でフィンガープリントを生成します。 keytool -list -v -keystore my-release-key.keystore または、デフォルトのデバッグキーの情報を取得します。 keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android ダッシュボードで必要な値は、“SHA256” と表示されているものです。Keystore の詳細については、こちらの公式記事を参照してください。

メール接続を有効にする

マジックリンク を使用するパスワードレス認証は、“email” タイプのパスワードレス接続でのみ機能します。Dashboard > Authentication に移動して Passwordless 接続を開き、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 %}

SDK の設定

Auth0 アプリケーションの設定が完了したら、パスワードレスのドキュメントに記載されている手順に従って、Lock.Android を使用して PasswordlessLock を設定します。

SDK の使用

Lock Passwordless は、ユーザーにワンタイムパスワードを含むメールを送信して認証を行います。この場合、送信されるのは code ではなくリンクです。Passwordless classic のガイドに従っている場合は、useCode() の呼び出しを削除して useLink() に置き換えるだけで済みます。 最後に、アクティビティ内から PasswordlessLock ウィジェットを起動します。
startActivity(lock.newIntent(this))
LINK をリクエストすると、次の画面に、ログインするにはユーザーがそのリンクをタップする必要があることが表示されます。それが難しい場合でも、受信したメール内のリンクをクリックした後に表示される code を入力できます。 Lock ライブラリは App Links に対応しています。これは Android 6.0 (API レベル 23) 以降で利用できる機能で、リンクを開く際にブラウザーとアプリのどちらを使用するかをユーザーに尋ねる選択ダイアログを表示せずに、特定の種類のリンクを処理する既定のハンドラーとしてアプリ自体を指定できます。 これは、ユーザーが Android デバイスの設定で、その URI パターンを処理する既定のアプリをまだ選択していない場合に機能します。 リンクの自動処理には、アプリと Auth0 の Web サイトの連携が必要です。アプリは Web サイトとの関連付けを宣言し、システムにその検証を要求する必要があります。一方、Web サイトは Digital Asset Links ファイルを公開して、その検証を行う必要があります。 前述のとおり、App Package Name と Key Hash を設定すると、Auth0 が Digital Asset Links ファイルを自動的に生成します。この記事のすべての手順に従っていれば、そのファイルは利用可能になり、次回 Android アプリケーションをインストールしたときに検証されます。 App Links の詳細については、Android ドキュメントを参照してください。