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

# Lock.Android：マジックリンクを使ったPasswordless

> Lock.Androidでのマジックリンクを使ったPasswordless

Androidアプリでパスワードレス認証のために送信されるワンタイムパスワードをユーザーに入力してもらう手間を省くため、ユーザーが手動で入力することなくタップしてログインできるリンクを送信する機能を導入しました。

これらのリンクには、従来のパスワードレスフローで使用されるのと同じ**コード** が含まれていますが、正しく設定することで、これらのリンクはお客様のアプリケーションに直接アクセスできるようになります。

## Auth0 Dashboardの設定

[［Application Settings（アプリケーションの設定）］](https://manage.auth0.com/#/applications/\{yourClientId}/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」としてリストされているものです。キーストアの詳細については、こちらの[公式記事](https://developer.android.com/studio/publish/app-signing)をお読みください。

### メール接続を有効にする

マジックリンクを使った<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-0" href="/docs/ja-jp/glossary?term=passwordless" tip="パスワードレス: 最初の要素としてパスワードに依存しない認証の形式。" cta="用語集の表示">Passwordless</Tooltip>は、「email」タイプのパスワードレス接続でのみ機能します。Dashboard > Passwordless接続用の［[Authentication（認証）］](https://manage.auth0.com/#/applications/authentication)に移動し、**［Email（メール）］** をクリックします。ポップアップが開き、HTML + Liquidメールテンプレートが編集可能になります。本文に次のような条件が含まれていることを確認します。

```json 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 %}
```

## SDKの構成

Auth0アプリケーションの設定が完了したので、[passwordlessドキュメント](/docs/ja-jp/libraries/lock-android/v2/passwordless)に書かれているように、指示に従って`Lock.Android`を使用してPasswordlessLockを設定します。

### SDKの使用方法

Lock Passwordlessは、ワンタイムパスワードを記載したメールをユーザーに送信することで認証を行います。この場合、コードではなくリンクが送信されます。Passwordlessクラシックの指示に従っている場合は、`useCode()`の呼び出しを削除し、`useLink()`に置き換えるだけで済みます。

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

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

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

## 任意：Android App Linksを使用する

LockライブラリはApp Linksと併用できます。これはAndroid 6.0（APIレベル23）以降で利用できる機能で、リンクを開く際にブラウザーを使用するかアプリを使用するかを確認する明確化ダイアログを表示することなく、アプリが特定の種類のリンクのデフォルトハンドラーとして自身を指定できます。

これは、ユーザーがAndroidデバイスの設定で、そのURIパターンを処理するデフォルトのアプリをまだ選択していない限り有効です。

リンクの自動処理には、お客様のアプリとAuth0のWebサイトの連携が必要です。アプリはそのWebサイトとの関連性を宣言し、システムに確認を求める必要があります。一方、Webサイトは、[デジタルアセットリンク](https://developers.google.com/digital-asset-links/)ファイルを公開することでその検証を提供する必要があります。

前述のように［App Package Name（アプリパッケージ名）］と［Key Hash（キーハッシュ）］を設定すると、Auth0はこの[デジタルアセットリンク](https://developers.google.com/digital-asset-links/)ファイルを自動的に生成します。この記事の手順をすべて実行した場合は、ファイルが利用可能になり、次回、Androidアプリケーションをインストールした際に確認されます。

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