チャレンジの識別情報から Java HTTP プロキシの資格情報を選択する
アカウントを返す前に要求元の種類、ホスト、ポートを照合し、無関係なサーバーのチャレンジはその検索の対象外にします。
HTTP 認証コールバックごとに、次の順序で資格情報を判断します。
- 要求元が宛先サーバーではなくプロキシであることを確認します。
- 要求元のホストとポートを承認済みのプロキシエントリと照合します。
- そのエントリのアカウントを返すか、一致しないチャレンジには資格情報を返しません。
単一の無条件なユーザー名/パスワードでは 2 つのプロキシのアカウントを表現できず、別の受信者に漏えいする可能性があります。
Java の HTTP クライアントビルダーを使うときは、クライアントに接続した Authenticator を優先してください。JVM の既定の Authenticator は他の参加コードにも影響します。
任意の名前を受け入れるのではなく、ホストの別名マッピングを意図的に定義してください。これは HTTP のパターンです。SOCKS は似たホスト名でも別の実装経路を使えます。
診断のために、チャレンジの種類と一致したアカウント識別子を、その秘密を含めずに記録してください。これによりパスワードをログに残さずにスコープの判断を説明できます。