Chrome CDP のプロキシ認証:Fetch イベントの両方の経路を処理する
ナビゲーション前に認証リクエストを有効にし、通常の一時停止リクエストは継続し、意図した Proxy チャレンジにのみ上限付きの試行ポリシーで応答します。
対象の CDP セッションで、ナビゲーションの前にハンドラを登録し、次のパラメータで Fetch.enable を呼び出します。
{"handleAuthRequests": true}| イベント | 必要な応答経路 |
|---|---|
| Fetch.requestPaused | 通常の処理を続ける場合は、その requestId を指定して continueRequest |
| Fetch.authRequired | authChallenge を確認し、認証イベントの requestId を指定して continueWithAuth を使用 |
認識された仲介者の場合、認証パラメータは次のとおりです。
{
"requestId": "REQUEST_ID_FROM_AUTH_EVENT",
"authChallengeResponse": {
"response": "ProvideCredentials",
"username": "PROXY_USERNAME",
"password": "PROXY_PASSWORD"
}
}認証情報ソースからアカウントを読み込む前に、authChallenge.source が Proxy であり、その発信元が意図したチャレンジャーであることを確認します。Server チャレンジは 別の認証ポリシーに従います.
傍受したリクエストごとに許可される試行を追跡します。繰り返し拒否されたチャレンジには CancelAuth を返すべきであり、無限に再送してはいけません。完了時またはセッション終了時に追跡を消去します。
ページがハングする場合は、未解決の requestPaused イベントも確認します。認証処理はそれらを自動的に継続せず、どちらのイベント経路もブラウザのプロキシ経路を選択しません。