> ## 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.

> デバイスの生体認証を使ったパスワードレス認証向けに WebAuthn を設定する方法を説明します。

# デバイスの生体認証を使ったパスワードレス認証向けに WebAuthn を設定する

<Tooltip tip="Universal Login: Auth0 の Authorization Server でホストされる Universal Login にアプリケーションがリダイレクトし、ユーザーの本人確認を行います。" cta="用語集を表示" href="/docs/ja-jp/glossary?term=Universal+Login">Universal Login</Tooltip> を設定すると、ユーザーはパスワードの代わりにデバイスの生体認証を使った [WebAuthn](/docs/ja-jp/secure/multi-factor-authentication/fido-authentication-with-webauthn) で認証できるようになります。

デバイスの生体認証を使った WebAuthn は、現在利用できる認証要素の中で最も安全かつ使いやすい方式であり、セキュリティを損なうことなくログイン時の手間を大幅に減らせます。

<Warning>
  この機能を使用するには、Auth0 のデータベース接続が必要です。データベース接続を選択するには、[Auth0 Dashboard > Authentication > Database](https://manage.auth0.com/#/connections/database) に移動してください。詳しくは、[Database Connections](/docs/ja-jp/authenticate/database-connections) を参照してください。
</Warning>

<div id="prerequisite">
  ## 前提条件
</div>

WebAuthn Device Biometrics で <Tooltip tip="パスワードレス：第1要素としてパスワードに依存しない認証方式。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=Passwordless">パスワードレス</Tooltip> を有効にするには、以下を満たしている必要があります。

1. Universal Login エクスペリエンスが有効になっており、ログインページの HTML が [Dashboard > Universal Login](https://manage.auth0.com/#/login_settings) でカスタマイズされていないことを確認します。
2. [Dashboard > Authentication Profile](https://manage.auth0.com/#/authentication-profiles) で **Identifier First + Biometrics** を選択します。これにより、まだ有効になっていない場合は、多要素認証セクションで [WebAuthn with Device Biometrics を有効にする](/docs/ja-jp/secure/multi-factor-authentication/fido-authentication-with-webauthn/configure-webauthn-device-biometrics-for-mfa) 設定が自動的に有効になります。
3. [custom database connection](/docs/ja-jp/authenticate/database-connections/custom-db) を使用している場合は、**Import Mode** が **On** に設定されていることを確認してください。設定されていない場合は、同じ効果を得るために [getUser script](/docs/ja-jp/authenticate/database-connections/custom-db/templates/get-user) を実行することもできます。

<div id="how-does-it-work">
  ## 仕組み
</div>

ユーザー名/メールアドレスとパスワードで認証し、[デバイスの生体認証を使った WebAuthn に対応している](https://webauthn.me/browser-support)デバイスを使用しているユーザーには、そのデバイスを登録するオプションが表示されます。

<Frame>
  <img src="https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1JfsIYEo3O7xmTAxLRwNSs/2f2ba478ff32b0aa86f4f01cd6c0cf3b/2023-01-31_16-34-09.png?fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=e405ef2221cfd2e5f88e179637fc9eab" alt="特定のドメインで WebAuthn を使用した Face ID ログインを設定する例" width="2028" height="773" data-path="docs/images/cdy7uua7fh8z/1JfsIYEo3O7xmTAxLRwNSs/2f2ba478ff32b0aa86f4f01cd6c0cf3b/2023-01-31_16-34-09.png" />
</Frame>

この機能を有効にすると、\[このデバイスでより速くログイン] ダイアログ ボックスに、ユーザー向けのいくつかの選択肢が表示されます。ユーザーはデバイスを登録するか、登録をスキップして今後の表示回数を減らすかを選択できます。

| Option               | Description                                            |
| -------------------- | ------------------------------------------------------ |
| `Continue`           | ユーザーに生体認証要素の登録を求めます                                    |
| `Remind me later`    | 登録をスキップし、2 週間後に再度登録を促します                               |
| `Not on this device` | 1 年間、または Auth0 の Cookie がユーザーのブラウザーに保存されている間は、登録を促しません |

<Frame>
  <img src="https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1w3jwsf0ihbTD0BNudRXN9/6ee65674ffa41e5e9537129bb3f98e79/2023-01-31_16-34-09.png?fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=9edd8328bdbb1fe5fe3f5d8a832e896a" alt="ログイン - webauthn biometrics - このデバイスでより速くログイン" width="360" height="482" data-path="docs/images/cdy7uua7fh8z/1w3jwsf0ihbTD0BNudRXN9/6ee65674ffa41e5e9537129bb3f98e79/2023-01-31_16-34-09.png" />
</Frame>

ユーザーがデバイスの登録を行うと、そのデバイスから次回認証する際に、デバイスの生体認証またはパスワードでログインするオプションが表示されます。

<Frame>
  <img src="https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4DkewyodXBQ3gncybz7KPI/873d6a3eafb644ee605daa209006d1b3/Docs_Login.png?fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=f2974c68dce5e15c846a1bec03da0c45" alt="ドメインへのログインに指紋認証または顔認証を使用する例" width="1558" height="773" data-path="docs/images/cdy7uua7fh8z/4DkewyodXBQ3gncybz7KPI/873d6a3eafb644ee605daa209006d1b3/Docs_Login.png" />
</Frame>

この機能は「段階的登録 (progressive enrollment) 」と呼ばれ、開発者とユーザーの双方にとって、WebAuthn ベースの認証への移行をできるだけ簡単にするよう設計されています。

<div id="multi-factor-authentication">
  ## 多要素認証
</div>

デバイスの生体認証を使った WebAuthn を使用すると、<Tooltip tip="多要素認証（MFA）: SMS で送信されるコードなど、ユーザー名とパスワードに加えて別の要素も使用するユーザー認証プロセス。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=multi-factor+authentication">多要素認証</Tooltip>のために別の認証方法を求める必要がなくなります。**デバイスの生体認証を使った WebAuthn では、2 つの要素を 1 つにまとめて使用できます**。つまり、所持しているもの (デバイス) と、本人そのものであるもの (生体認証) または知っているもの (パスコード) です。

これには、次のような影響があります。

* ダッシュボードで MFA を有効にした場合、ユーザーが第 1 要素として WebAuthn w/Biometrics で認証していれば、Auth0 は MFA を要求しません。
* MFA が有効な状態でユーザーが新しいアカウントを作成すると、次のことを行います。

  * ユーザー名とパスワードでユーザーを作成します。
  * 生体認証以外の認証方法で MFA に登録し、どのデバイスでも MFA を完了できるようにします。
  * 必要に応じて、デバイス生体認証にも登録します。

次回ログイン時には、パスワード + 別の認証方法、またはデバイス生体認証でログインできます。

* ユーザーが WebAuthn Biometrics のみを認証方法として使用した場合、<Tooltip tip="ID Token: リソースへのアクセスではなく、クライアント自体を対象とした認証情報。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=ID+Token">ID Token</Tooltip> の `amr` 値は `mfa` に設定されます。
* 当社の拡張性プラットフォームから MFA を有効にする場合は、ユーザーがどのように認証したかを考慮して、MFA を要求するかどうかを判断できます。以下のルールでは、ユーザーが `webauthn-platform` 認証方法で認証していない場合にのみ MFA を実行します。

```javascript javascript lines theme={null}
function (user, context, callback) {
  let authMethods = context.authentication.methods;

  const amr = authMethods.find((method) => method.name === 'webauthn-platform');

  if (!amr) {
    context.multifactor = {
      provider: 'any',
      allowRememberBrowser: false
    };
  }
  return callback(null, user, context);
}
```

このログイン後のアクションでも同じ効果があります:

```javascript javascript lines theme={null}
exports.onExecutePostLogin = async (event, api) => {
  let authMethods = event.authentication.methods;

  let amr = authMethods.find((method) => method.name === 'webauthn-platform');

   if (!amr) {
     api.multifactor.enable('any');
  }
};
```

<div id="device-recognition">
  ## デバイス認識
</div>

Auth0 はルールを使用して、デバイスがすでに登録済みかどうかを判断し、ユーザーに登録を促します。詳しくは、記事 [Configure WebAuthn with Device Biometrics for MFA](/docs/ja-jp/secure/multi-factor-authentication/fido-authentication-with-webauthn/configure-webauthn-device-biometrics-for-mfa) の [Device recognition](/docs/ja-jp/secure/multi-factor-authentication/fido-authentication-with-webauthn/configure-webauthn-device-biometrics-for-mfa#device-recognition) を参照してください。

ユーザー列挙攻撃を防ぐため、Auth0 が第1要素として生体認証を求めるのは、ユーザーが既知のデバイスからログインしている場合に限られます。そうでない場合は、パスワードでログインする必要があります。

例:

* ユーザーが Windows の Chrome からログインし、Windows Hello に登録している場合、Auth0 は登録情報の一部として、そのユーザーが Windows デバイスから登録したことを把握し、ユーザーエージェントを識別するための「既知のデバイス」を保存します。
* 次回そのユーザーが Chrome からログインすると、パスワードの代わりに Windows Hello の使用を求められます。
* その後、ユーザーが Windows の Firefox からログインした場合は、「既知のデバイス」cookie が存在しないため、パスワードでログインする必要があります。すでに Windows Hello に登録しているため、再度登録を求められることはありません。
* 次回そのユーザーが Firefox からログインすると、Windows Hello の使用を求められます。

これにより、ユーザーがアカウントを持っているかどうか、またはサイトへの認証に WebAuthn のデバイス生体認証を使用したかどうかを、攻撃者に知られることはありません。

<div id="webauthnme">
  ## Webauthn.me
</div>

Auth0 は [webauthn.me](https://a0.to/webauthme-auth0-docs) を運営しており、WebAuthn に関する[詳細情報](https://webauthn.me/introduction)や、WebAuthn をサポートしているブラウザーの最新一覧を確認できます。

<div id="learn-more">
  ## 詳しく見る
</div>

* [Universal Login でパスワードレスを設定する](/docs/ja-jp/authenticate/login/auth0-universal-login/passwordless-login)
* [パスワードレス認証用のメールまたは SMS を設定する](/docs/ja-jp/authenticate/login/auth0-universal-login/passwordless-login/email-or-sms)
* [MFA 用にデバイスの生体認証を使った WebAuthn を設定する](/docs/ja-jp/secure/multi-factor-authentication/fido-authentication-with-webauthn/configure-webauthn-device-biometrics-for-mfa)
* [WebAuthn による FIDO 認証](/docs/ja-jp/secure/multi-factor-authentication/fido-authentication-with-webauthn)
