HTTP 認証コールバックごとに、次の順序で資格情報を判断します。

  1. 要求元が宛先サーバーではなくプロキシであることを確認します。
  2. 要求元のホストとポートを承認済みのプロキシエントリと照合します。
  3. そのエントリのアカウントを返すか、一致しないチャレンジには資格情報を返しません。

単一の無条件なユーザー名/パスワードでは 2 つのプロキシのアカウントを表現できず、別の受信者に漏えいする可能性があります。

Java の HTTP クライアントビルダーを使うときは、クライアントに接続した Authenticator を優先してください。JVM の既定の Authenticator は他の参加コードにも影響します。

任意の名前を受け入れるのではなく、ホストの別名マッピングを意図的に定義してください。これは HTTP のパターンです。SOCKS は似たホスト名でも別の実装経路を使えます。

診断のために、チャレンジの種類と一致したアカウント識別子を、その秘密を含めずに記録してください。これによりパスワードをログに残さずにスコープの判断を説明できます。

関連記事