> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Lock.Android でマジックリンクを使用するパスワードレス

# Lock.Android: マジックリンクを使用するパスワードレス

Android アプリで <Tooltip tip="パスワードレス: 第1要素としてパスワードに依存しない認証形式です。" cta="用語集を見る" href="/ja/docs/glossary?term=passwordless">パスワードレス</Tooltip> 認証用に送信されるワンタイムパスワードをユーザーに入力させずに済むよう、手動入力なしでタップするだけでログインできるリンクを送信する機能が導入されました。

これらのリンクには、従来のパスワードレスフローで使用されるものと同じ **code** が含まれていますが、正しく設定すれば、リンクから直接アプリケーションを開けます。

<div id="auth0-dashboard-configuration">
  ## Auth0 Dashboard の設定
</div>

[アプリケーション設定](https://manage.auth0.com/#/applications/\{yourClientId}/settings)に移動し、ページ下部にある **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** をクリックしてください。

<div id="getting-your-signing-certificates-fingerprint">
  ### 署名証明書のフィンガープリントを取得する
</div>

次のコマンドを使用して、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 の詳細については、こちらの[公式記事](https://developer.android.com/studio/publish/app-signing)を参照してください。

<div id="enable-the-email-connection">
  ### メール接続を有効にする
</div>

マジックリンク を使用するパスワードレス認証は、"email" タイプのパスワードレス接続でのみ機能します。Dashboard > [Authentication](https://manage.auth0.com/#/applications/authentication) に移動して Passwordless 接続を開き、**Email** をクリックします。ポップアップが開き、HTML + Liquid のメールテンプレートを編集できるようになります。本文に次のような条件式が含まれていることを確認してください。

```liquid lines theme={null}
{% 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 %}
```

<div id="configuring-the-sdk">
  ## SDK の設定
</div>

Auth0 アプリケーションの設定が完了したら、[パスワードレスのドキュメント](/ja/docs/libraries/lock-android/lock-android-passwordless)に記載されている手順に従って、`Lock.Android` を使用して PasswordlessLock を設定します。

<div id="sdk-usage">
  ### SDK の使用
</div>

Lock Passwordless は、ユーザーにワンタイムパスワードを含むメールを送信して認証を行います。この場合、送信されるのは code ではなくリンクです。Passwordless classic のガイドに従っている場合は、`useCode()` の呼び出しを削除して `useLink()` に置き換えるだけで済みます。

最後に、アクティビティ内から `PasswordlessLock` ウィジェットを起動します。

```kotlin lines theme={null}
startActivity(lock.newIntent(this))
```

LINK をリクエストすると、次の画面に、ログインするにはユーザーがそのリンクをタップする必要があることが表示されます。それが難しい場合でも、受信したメール内のリンクをクリックした後に表示される code を入力できます。

<div id="optional-use-android-app-links">
  ## オプション: Android App Links を使用する
</div>

Lock ライブラリは App Links に対応しています。これは Android 6.0 (API レベル 23) 以降で利用できる機能で、リンクを開く際にブラウザーとアプリのどちらを使用するかをユーザーに尋ねる選択ダイアログを表示せずに、特定の種類のリンクを処理する既定のハンドラーとしてアプリ自体を指定できます。

これは、ユーザーが Android デバイスの設定で、その URI パターンを処理する既定のアプリをまだ選択していない場合に機能します。

リンクの自動処理には、アプリと Auth0 の Web サイトの連携が必要です。アプリは Web サイトとの関連付けを宣言し、システムにその検証を要求する必要があります。一方、Web サイトは [Digital Asset Links](https://developers.google.com/digital-asset-links/) ファイルを公開して、その検証を行う必要があります。

前述のとおり、App Package Name と Key Hash を設定すると、Auth0 が [Digital Asset Links](https://developers.google.com/digital-asset-links/) ファイルを自動的に生成します。この記事のすべての手順に従っていれば、そのファイルは利用可能になり、次回 Android アプリケーションをインストールしたときに検証されます。

App Links の詳細については、[Android ドキュメント](https://developer.android.com/training/app-links/index.html)を参照してください。
