15 ターゲットサイトのPasskey検証の有効化
15.1 目標
Sa2webリモートブラウザ環境でPasskey、WebAuthn、セキュリティキーログインを使用するターゲットサイトの準備、操作フロー、ローカルテスト方法、検証ポイントを説明します。
Passkeyの重要な問題は、ログインページが開けるかどうかだけではありません。ブラウザに見えるドメイン、信頼できるHTTPS状態、ターゲットサイトの認証インタラクションがすべてWebAuthn要件を満たす必要があります。
15.2 前提条件
Passkeyログインを使用する前に、少なくとも以下を確認してください:
| 条件 | 説明 |
|---|---|
| ターゲットサイトがPasskey / WebAuthn / セキュリティキーをサポート | ログインページが対応する認証方法を提供 |
| ユーザーがターゲットサイトでPasskeyをバインド済み | 未バインドの場合、まずターゲットサイトのアカウントセキュリティ設定で追加 |
| リモートブラウザパスが認証インタラクションをサポート | ユーザーがブラウザプロンプトを見て認証アクションを完了可能 |
| アクセスドメインが正しい | Passkeyはブラウザオリジンに強くバインドされ、IPや一時ドメインに恣意的に置き換え不可 |
| HTTPSが信頼済み | ブラウザがページを安全でないと見なす場合、WebAuthnが正常に動作しない可能性 |
公式ドキュメントによるとPasskeyは現在まだアルファ版です。一部サイトでログイン失敗の可能性があります。本番使用前にサイトごとに検証してください。
15.3 基本ログインフロー
ターゲットサイト設定後、ユーザーは以下のフローに従います:
- 管理者がサイト設定でURL、ドメイン、ログインフローが正しいことを確認。
- ユーザーがSa2webフロントエンドを通じてターゲットサイトに入る。
- ターゲットサイトのログインページで、ユーザーがPasskeyログインを選択。
- ユーザーがブラウザプロンプトに従って認証完了。
- ログイン成功後、リモートブラウザがターゲットビジネスページに入ることを確認。
検証時、ページが開けるかだけでなく、ターゲットサイトが実際にPasskeyログイン方式を認識しているかも確認してください。
15.4 ドメインが重要な理由
Passkeyはブラウザに見えるドメイン、すなわちオリジンに強くバインドされます。ターゲットサイトのPasskeyログインをテストする際、サーバーIPや一時転送アドレスのみでサイトにアクセスしないでください。
例えば、ターゲットサイトが実際に以下にバインドされていると仮定:
login.example.com
テスト中に以下のアドレスを使用すると失敗を引き起こす可能性があります:
https://192.168.1.105/
https://temp-tunnel.example.net/
https://another-domain.example.com/
正しいアプローチは、ローカルブラウザがターゲットサイトドメインでHTTPSアクセスを開始し、Sa2webがそのドメインをプロキシ可能なビジネスドメインとして認識することを確実にすることです。
15.5 ターゲットサイトPasskeyのローカルテスト
ローカルテストは、本番ユーザーを認可する前のパス検証に適しています。核心目標は、ブラウザアドレスバーのオリジンをターゲットサイトドメインと等しくし、証明書をローカルブラウザで信頼させることです。
15.5.1 ターゲットサイトドメインの追加
管理コンソールを開く:
システム設定 > ドメイン管理
ドメイン追加 をクリックし、ターゲットサイトドメインを追加。例:
login.example.com
ドメイン管理はシステムが処理を許可されたビジネスドメインを維持します。ドメインが追加されていない場合、Sa2webはhostsがサーバーを指していても期待通りに処理しない可能性があります。
15.5.2 Caddyルート証明書のインストールと信頼
イントラネットやテスト環境でCaddy内部証明書を使用する場合、ローカルブラウザが対応するルート証明書を信頼する必要があります。そうでないと、HTTPSが信頼されないためPasskey / WebAuthnが失敗する可能性があります。
通常、テストコンピュータにCaddyルート証明書をインストールし、システムまたはブラウザで信頼します。インストール詳細は公式イントラネット証明書インストールドキュメントを参照。
ブラウザが信頼する公開CA証明書を持つ公開本番ドメインを使用する場合、通常ルート証明書を手動インストールする必要はありません。
15.5.3 ローカルhostsの変更
ローカルコンピュータの hosts ファイルで、ターゲットサイトドメインをSa2web展開サーバーIPに向けます。
<SERVER_IP> login.example.com
例:
192.168.1.105 login.example.com
hostsファイルの場所:
| システム | hostsパス |
|---|---|
| Windows | C:\Windows\System32\drivers\etc\hosts |
| macOS / Linux | /etc/hosts |
ファイル変更後、ブラウザを再起動。必要に応じてDNSキャッシュをクリアし、ブラウザが古い解決結果を使い続けないようにする。
15.5.4 ターゲットドメインでテストアドレスにアクセス
Sa2webが生成したテストアドレスまたはビジネスシナリオで必要なアドレスに、ターゲットサイトドメインを使用してアクセス:
https://<target-site-domain>/?saas=<...>&_d=<target-site-address>
パラメータ説明:
| パラメータ | 説明 |
|---|---|
<target-site-domain> |
ドメイン管理 で追加され、ローカル hosts で展開サーバーIPを指すドメイン |
saas |
システム生成のSaaSアクセスパラメータまたはビジネスシナリオで必要なもの |
_d |
ターゲットサイトアドレス、通常は開く必要があるURL |
これらの準備後、ブラウザアドレスバーのオリジンがターゲットサイトドメインになり、HTTPS証明書がローカルで信頼されます。のみこの条件下でターゲットサイトPasskeyログインテストの基本条件が整います。
15.6 結果検証
テスト中にこのチェックリストを使用:
- ターゲットサイトログインページがPasskeyログイン方式を認識し表示。
- ユーザーがブラウザ認証プロンプトをトリガー可能。
- ユーザーが認証アクション完了可能。
- ログイン成功後、ユーザーがターゲットビジネスページに入る。
- 認証失敗時、ターゲットサイトプロンプトとリモートブラウザログをトラブルシューティングに使用可能。
15.7 一般的な失敗原因
| 症状 | 考えられる原因 | 方向性 |
|---|---|---|
| ログインページにPasskeyエントリなし | ターゲットアカウントがPasskey未バインド、またはサイトがこの方式未有効 | まずターゲットサイトのアカウントセキュリティ設定でバインドまたは有効化 |
| Passkeyクリック後何も起きない | ブラウザオリジン不一致、またはページが信頼済みHTTPSでない | ドメイン、証明書、アクセスアドレスを確認 |
| 現在の環境は未サポートと報告 | ターゲットサイトがより厳しいWebAuthn環境要件を持つ | ターゲットサイトがサポートするブラウザ設定で再テスト |
| 認証後ログインページに戻る | ターゲットサイトセッション未確立、または認証コールバックがインターセプト | ターゲットサイトプロンプトとリモートブラウザログを確認 |
| ローカルテストOKだが本番ユーザー失敗 | ユーザー権限、グループ、サイト設定、ネットワークが異なる | テストユーザーと本番ユーザーの認可と設定を比較 |
15.8 本番展開推奨事項
Passkeyはターゲットサイト独自のポリシー、ブラウザ環境、ドメイン、証明書に関わります。サイトごとに段階的に検証:
- まず管理者またはテストユーザーでローカルテスト完了。
- 次に通常テストユーザーでSa2webフロントエンド経由で検証。
- サイト設定、ドメイン管理、証明書が安定していることを確認。
- 少数のビジネスユーザーを認可。
- 失敗サイトと失敗ブラウザ環境を収集、互換性結論を別途記録。
15.9 受け入れチェックリスト
公式ドキュメント:
- https://www.sa2web.com/docs/en/appendix/passkey