おなじみの Windows セキュリティのプロンプトはユーザー インターフェイスであり、「このアプリケーションをプロキシにログインさせる」という万能な機能ではない。

CredUI 関数はユーザーから資格情報を収集できる。ネットワーク クライアントは依然としてプロキシのチャレンジを解釈し、サポートしているメカニズムでアカウントを提供する必要がある。

WinHTTP では、認証の処理は要求フローとその文書化された API に属する。407 チャレンジはオリジン サーバーの 401 とは異なる。たとえアプリケーションが両方に似たプロンプトを表示しても。

プロンプトがどのプロキシを指すのかを判断し、キャンセルを処理し、返された資格情報をその用途に限定すること。認証バッファを展開した後にパスワードをログに記録するサンプル コードを決してコピーしないこと。ダイアログがテキストを返したことを示すのは、そのテキストを出力する理由にはならない。

統合認証では、資格情報の表現やプロセス ID が異なる場合がある。どの方法もプロキシ URL にユーザー名とパスワードを挿入するだけだと決めつけないこと。

有用な境界は明確である。プロンプトはユーザー入力を受け取り、ネットワーク API が認証のやり取りを行い、プロキシがそれを受け入れるかどうかを決める。

関連記事