Windows 凭据对话框本身并不认证代理
CredUI 可以收集账户信息。网络客户端仍须通过受支持的机制处理代理的认证质询。
熟悉的 Windows 安全提示是一个用户界面,而不是通用的「让此应用程序登录代理」功能。
CredUI 函数可以从用户那里收集凭据信息。你的网络客户端仍须解释代理的质询,并通过它支持的机制提供账户。
对于 WinHTTP,认证处理属于请求流及其有文档记录的 API。407 质询与源服务器的 401 不同,即使应用程序为两者显示看起来相似的提示。
确定该提示指的是哪个代理,处理取消操作,并将返回的凭据限制在该用途内。绝不要复制在解包认证缓冲区后记录密码的示例代码。演示对话框返回了文本,并不是打印该文本的理由。
集成认证可能涉及不同的凭据表示形式和不同的进程标识。不要以为每种方法都只是把用户名和密码插入代理 URL。
有用的边界很明确:提示获取用户输入,网络 API 执行认证交换,而代理决定是否接受。