前提条件
- Universal Login を有効にする。
- Identifier First 認証を有効にする。
- カスタムログインページを無効にします。Auth0 Dashboard で、ブランディング > Universal Login > Manage Classic Login > Login に移動し、Custom Login Page トグルをオフにします。
- データベース接続で username を必須にする 設定を無効にするか、または Flexible Identifiers を有効にします。
- 独自のデータベースを使用する 設定を無効にするか、または ユーザーインポート (Import Users to Auth0) を有効にします。 ユーザーインポート (Import Users to Auth0) を有効にせずに独自のデータベースを使用する場合は、以下の「データベース Action スクリプトの更新」に関する追加の前提条件 に従ってください。
早期アクセス ユーザーインポートを有効にせずに独自のデータベースを使用する
パスキー認証で、ユーザーインポートを有効にしなくても独自のデータベースを使用できるようになりました。これにより、外部のユーザーストアに対する認証を継続しながら、カスタムデータベース接続でパスキー認証を提供できます。 前提条件として、識別子とuser_id の両方でのユーザー処理をサポートするように、Get User と Create のデータベース Action スクリプトを更新する必要があります。
ユーザーインポートを有効にせずに独自のデータベースでパスキーを有効にするためのデータベース Action スクリプトの更新方法
ユーザーインポートを有効にせずに独自のデータベースでパスキーを有効にするためのデータベース Action スクリプトの更新方法
- まず、データベース接続でユーザーインポートが無効になっていることを確認します。
-
context オブジェクトのサポートを有効にします。これにより、データベース Action スクリプトで
contextパラメーターを利用できるようになり、識別子とuser_idの両方での検索をサポートするために必要になります。 -
Get User スクリプトは、識別子による検索 (
context.identifierTypeが設定されていない場合) とuser_idによる検索 (context.identifierTypeがuser_idに設定されている場合) の両方をサポートする必要があります。 提供されているgetUser関数を使用するように、Get User データベース Action スクリプトをgetByEmailから更新します。 -
Create スクリプトは、有効なユーザープロファイルを返す必要があります。属性が有効な場合、返されるユーザープロファイルは Login スクリプトおよび Get User スクリプトと同じ検証に従う必要があります。属性が有効でない場合、返されるユーザープロファイルには
user_idの値を含める必要があります。 有効なユーザープロファイルを返すように、Create データベース Action スクリプトを更新します。
パスキーを設定する
パスキー設定を開く
Authentication > Database に移動し、編集するデータベース接続の名前を選択します。Authentication Methods タブを選択します。次に、Passkey セクションで Configure を選択し、Passkey パネルを開きます。まだチェックされていない場合は、Enable passkeys をオンにします。
パスキー認証 UI を選択する
パスキー認証 UI では、ログイン時およびサインアップ時に、ユーザーがどのようにパスキー認証を開始できるかを決定します。Passkey Authentication UI セクションで、3 つのオプションのいずれかを選択します。
ユーザーのブラウザーで自動入力を利用できない場合、パスキーボタン (有効な場合) またはパスワード認証情報を使ってログインできます。
| Passkey authentication UI | Description |
|---|---|
| Passkey button & autofill | ユーザーは、自動入力またはパスキーボタンを使ってパスキーで認証できます。 |
| Autofill | ユーザーがパスキーを使用するには、ブラウザーの自動入力機能を使ってログインする必要があります。自動入力では、認証情報を手動で入力する代わりに、ドロップダウンメニューから保存済みのアカウントを選択できます。 |
| Passkey button | ユーザーは、ログインプロンプトで Continue with a passkey ボタンを選択する必要があります。 |
段階的登録を有効にする(任意)
段階的登録では、識別子とパスワードでログインした後、まだパスキーを作成していないユーザーに対してパスキーの作成を促します。この手順は必須ではなく、ユーザーは 30 日ごとに延期できます。段階的登録は、ユーザーをパスキーへ移行する際に、認証方法の移行をスムーズにするのに役立ちます。Progressive Enrollment チェックボックスはデフォルトでオンになっていますが、チェックを外して無効にできます。
Organization 招待メール からアカウントを作成する場合、ユーザーはパスキー認証を選択できません。段階的登録を有効にすると、これらのユーザーはパスワードでログインした後にパスキーを作成できます。
ローカル登録を有効にする(任意)
パスキーユーザーがクロスデバイス パスキーを使用して新しいデバイスにログインすると、ローカル登録によって、その新しいデバイス上でローカル パスキーを作成するよう促されます。これは必須ではないため、ユーザーはローカル パスキーの作成をスキップできます。Local Enrollment チェックボックスはデフォルトでオンになっていますが、チェックを外して無効にできます。
次のステップ
Relying Party ID (RP ID) を設定する
app.example.com で提供されるネイティブアプリケーションと login.example.com で提供される Web アプリケーションの両方) 、RP ID を親ドメインまたはルートドメインに設定できます。
Auth0 Dashboard または Management API で RP ID をカスタマイズすると、他のドメイン用のすべてのパスキーが使用できなくなり、エンドユーザーは再登録する必要があります。
- Auth0 Dashboard > Tenant Settings に移動します。
- Relying Party IDs タブを選択します。
- Edit Relying Party ID を選択します。
- ドメインを入力します。
- この RP ID がルートドメインである場合は、チェックボックスを選択して、そのドメインをテナントのデフォルトとして設定します。
- Save を選択します。
- 次に、Relying Party ID を設定するアプリケーションに移動します。
- アプリケーション設定を選択します。
- Application URIs セクションの Allowed Origins (CORS) に、アプリケーションのドメインを追加します。
- Save を選択します。