パスキーサインイン
パスキーサインインでは、ユーザーがサインイン時にパスワードや認証コードを入力せず、WebAuthn クレデンシャルで直接認証 (Authentication) できます。Logto では、パスキーサインインに使用されるクレデンシャルは MFA で使われる WebAuthn クレデンシャルモデルと同じなので、サインイン体験と MFA 体験は密接に関連しています。
このドキュメントでは、Logto の組み込みサインイン体験におけるパスキーサインインの仕組み、エンドユーザー向けの異なるエントリーパス、MFA との連携について説明します。
パスキーサインインの仕組み
パスキーサインインを利用するには、まず サインイン体験 設定で有効化する必要があります。有効化後、Logto はサインインページで最大 3 つの方法でパスキーサインインを提供できます:
- 最初のサインイン画面に専用の
パスキーで続行ボタンを表示 - ユーザーがメールアドレス、電話番号、またはユーザー名を入力した後に
パスキーで認証を試みる識別子優先フロー - 識別子入力欄でのブラウザーの自動入力機能により、現在のデバイスから利用可能なパスキーを直接提案
全体的な体験は次のようになります:
3 つのパスキーサインインパス
1. 「パスキーで続行」ボタンを表示する場合
「パスキーで続行」ボタンを表示 オプションが有効な場合、サインインページの最初の画面下部に パスキーで続行 ボタンが表示されます。
ユーザーフローは次の通りです:
- サインインページを開く
パスキーで続行をクリック- ブラウザーや OS のプロンプトからパスキーを選択
- 生体認証、PIN、またはハードウェアキーで認証を完了
- サインイン成功
これは最も直接的なパスです。すでに保存済みパスキーを持っていて、ワンステップでログインしたいユーザーに最適です。
2. 「パスキーで続行」ボタンを表示しない場合
「パスキーで続行」ボタンを表示 オプションが無効な場合、Logto は最初の画面で識別子優先体験に切り替わります。ページはまずユーザーの識別子のみを尋ねます。
ユーザーが識別子を送信した後:
- Logto はパスキーサインインが有効かつ、識別されたユーザーが利用可能なパスキーを持っているかを確認
- パスキーが利用可能な場合、Logto は最初に「パスキーで認証」フローを開始
- ユーザーはパスキー認証を完了し、即座にサインイン可能
- パスキーが利用できない場合や、他の方法を希望する場合は、Logto は他の設定済み認証方法にフォールバック
利用可能なフォールバック方法は、現在のテナントのサインイン体験設定によって異なります。たとえば、パスワード、メール認証コード、電話認証コードなど、識別子に対して有効な要素に切り替えられます。
3. プロンプトと自動入力を許可
プロンプトと自動入力を許可 オプションが有効な場合、対応ブラウザーは識別子入力欄から保存済みパスキーを直接提案できます。
ユーザーフローは次の通りです:
- サインインページで識別子入力欄にフォーカス
- ブラウザーが現在のオリジン用の保存済みパスキーを提案
- ユーザーが自動入力リストからパスキーを選択
- ブラウザーが生体認証、PIN、またはハードウェアキーでの認証を要求
- サインイン成功
このフローは、プラットフォームでパスキーがすでに同期されているデバイスで特に便利です。ユーザーは手動で次のページに移動したり、専用のパスキーボタンをタップしたりせずにサインインできます。
サインアップとパスキー紐付けフロー
パスキーサインインは単なるサインインの入り口ではありません。登録後の動作にも影響します。なぜなら、同じ WebAuthn クレデンシャルは後でサインインと MFA の両方に再利用できるからです。
ユーザーが通常のサインアップ手順を完了した後、Logto はパスキー作成を促すことができます。このプロンプトはエンドユーザーにとって任意ですが、一度パスキーを作成すると、次のステップはテナントの MFA ポリシーとユーザー自身の MFA 状態によって異なります。
主なロジックは次の通りです:
パスキーサインインと MFA の関係
パスキーサインインは自動的に MFA 認証をスキップ
パスキーサインインに使われるパスキーは WebAuthn クレデンシャルに裏付けられており、そのクレデンシャルは WebAuthn MFA 要素としても扱われます。そのため、パスキーサインインと WebAuthn MFA はクレデンシャルの観点から実質的に同等です。
これにより、2 つの重要な挙動が生じます:
- ユーザーがパスキーでサインインした場合、Logto は別途 MFA 認証ステップをスキップします。
- パスキーサインイン有効化前にすでに WebAuthn を MFA 要素として紐付けていた場合、その既存クレデンシャルはパスキーサインイン用クレデンシャルとして再利用できます。再度紐付ける必要はありません。
つまり、パスキーサインインが成功すれば、MFA で求められる WebAuthn ベースの本人確認要件はすでに満たされています。
パスキー紐付けはユーザー管理テナントで自動的に MFA を強制しない
MFA が必須でないテナントのユーザーの場合、サインアップやアカウント設定時にパスキーを紐付けても、アカウントで自動的に MFA が有効になることはありません。
代わりに、パスキー作成後、Logto は「2 段階認証を有効化」ページを表示します。
そのページでユーザーは:
- 「2 段階認証を有効化」ボタンをクリックして明示的に MFA を有効化し、次の紐付けステップに進む
- プロンプトをスキップして、MFA を有効化せずに現在のフローを完了
ユーザーが MFA を有効化することを選択した場合、Logto は通常の MFA 設定フローを続行し、テナントの MFA 設定に応じて追加要素の紐付けを求める場合があります。たとえば、他の MFA 要素がテナントで有効な場合、Logto は追加要素やバックアップコードの紐付けを続行できます。
後からパスキーサインインを無効化した場合
後からパスキーサインインをオフにしても、以前に紐付けたパスキーは WebAuthn クレデンシャルとして残ります。つまり、テナントで WebAuthn MFA が利用可能な限り、MFA 要素として引き続き利用できます。
パスキーサインインを無効化すると、パスキーは直接のサインインエントリーポイントとしては使えなくなりますが、基盤となる WebAuthn MFA クレデンシャルは無効化されません。
制限事項と互換性
- パスキーサインインはエンタープライズシングルサインオン (SSO) ユーザーには利用できません。
- パスキーサインインはブラウザーおよびプラットフォームの WebAuthn サポートに依存します。
- 「プロンプトと自動入力を許可」は、パスキー自動入力 / 条件付き UI をサポートするブラウザーや環境でのみ動作します。
- パスキーはオリジンに紐付いています。あるドメインで登録したパスキーは、別のドメインでは利用できません。
Q&A
パスキーサインインでも MFA 認証は必要ですか?
いいえ。パスキーサインインが成功すれば、WebAuthn ベースの認証要件はすでに満たされているため、Logto は別途 MFA 認証ステップをスキップします。
パスキーサインイン用に紐付けたパスキーは、パスキーサインイン無効化後も MFA 要素として使えますか?
はい。パスキーサインインと WebAuthn MFA は同じ基盤クレデンシャルモデルに基づいています。後からパスキーサインインを無効化しても、紐付けたパスキーは WebAuthn MFA 要素として引き続き利用できます。
エンタープライズシングルサインオン (SSO) ユーザーはパスキーサインインを利用できますか?
いいえ。エンタープライズシングルサインオン (SSO) ユーザーはパスキーサインインの対象外です。
パスキーサインインでも CAPTCHA は必要ですか?
いいえ。パスキーサインイン自体には追加の CAPTCHA ステップは不要です。CAPTCHA はページ上の他のサインインアクション(パスワードや認証コードによる送信など)には適用される場合がありますが、パスキー認証フロー自体には適用されません。