Proxy-Authenticate
使い方
クライアントが認証情報を必要とするプロキシサーバー経由でリクエストを送ると、プロキシは 407 ステータスコードで応答し、Proxy-Authenticate ヘッダーを含めます。このヘッダーは、どの認証方式を使うべきかをクライアントに伝え、認証情報を組み立てるために必要なパラメーターを提供します。
チャレンジを受け取ったクライアントは、適切な認証情報を含む Proxy-Authorization ヘッダーを付けてリクエストを再送します。プロキシは認証情報を検証し、成功した場合はリクエストを宛先サーバーへ転送します。
Proxy-Authenticate ヘッダーはプロキシのレベルで動作します。オリジンサーバーに対する認証で同等の役割を果たすヘッダーは WWW-Authenticate で、こちらは 407 ではなく 401 レスポンスを引き起こします。
1 つのレスポンスに複数の Proxy-Authenticate ヘッダーがある場合、プロキシが複数の方式を受け入れることを示します。クライアントは双方がサポートする中で最も強力な方式を選びます。
scheme
scheme の値は認証方式を識別します。一般的な値は Basic、Digest、Bearer、Negotiate です。登録済みの方式の完全な一覧は IANA が管理しています。
realm
realm パラメーターは保護空間を説明する任意の文字列です。クライアントは通常、認証情報の入力プロンプトに realm の値を表示します。省略された場合、クライアントは既定でプロキシのホスト名を表示します。
方式固有のパラメーター
各認証方式は追加のパラメーターを定義します。Digest 方式には nonce、qop、algorithm、opaque が含まれます。Bearer 方式には scope と error が含まれます。これらのパラメーターは、ヘッダー値の中で方式名の後に現れます。
例
Basic 認証を要求するプロキシが、説明的な realm を伴うチャレンジを返します。realm の値は、どの認証情報が期待されているかをユーザーに伝えます。
Proxy-Authenticate: Basic realm="Corporate Proxy"
Digest 方式をサポートするプロキシは、リプレイ攻撃を防ぐためにサーバーが生成した nonce を含めます。
Proxy-Authenticate: Digest realm="proxy@example.re", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", qop="auth"
複数の認証方式を提示するプロキシは、それぞれを別の行に列挙します。クライアントはサポートする中で最も強力な選択肢を選びます。
Proxy-Authenticate: Negotiate
Proxy-Authenticate: Basic realm="Internal Network"