Proxy-Authorization を受け取ったことは、プロキシがアカウントを受理したことを意味しません。認証情報が欠けている、無効、または不完全な場合、もう一度 407 Proxy Authentication Required を返すのが適切なことがあります。

応答には Proxy-Authenticate チャレンジが必要です。Basic の例を示します。

HTTP/1.1 407 Proxy Authentication Required
Proxy-Authenticate: Basic realm="Office proxy"
Content-Length: 0

その後クライアントは別の認証情報を取得するか、選択した方式のやり取りを続けられます。認証方式によっては複数回の往復が必要なので、2 回目の 407 それ自体はパスワードの打ち間違いの証拠にはなりません。

RFC 9110 は、有効だが不十分な認証情報も区別しています。その識別情報では応じない要求には 403 を使うべきです。プロキシの実装は、Authorization ヘッダーが現れたというだけで新しい状態を選ぶのではなく、そのアクセス判断を意図的に行うべきです。

クライアント側では、同一の失敗が繰り返されるときに打ち切りの地点が必要です。応答の状態とチャレンジを診断情報に残し、拒否された同じ認証情報を盲目的に再送するのをやめてください。

関連記事