Chrome 扩展程序中强制代理重新身份验证

tri*_*Rev 5 javascript authentication proxy google-chrome-extension firefox-addon-webextensions

我正在制作一个扩展,允许用户存储具有身份验证凭据(用户/通行证)的代理服务器并在服务器之间切换。我正在侦听该webRequest.onAuthRequired事件,当服务器挑战身份验证时,证明用户已保存的用户名/密码,如下例所示provideCredentialsSync: https: //developer.mozilla.org/en-US/docs/Mozilla/Add- ons/WebExtensions/API/webRequest/onAuthRequired#Examples

问题是,当提供这些凭据时,它们似乎会保存/缓存在开发人员无权访问的扩展中的某个位置,然后不断地重复使用。因此,如果扩展用户随后将其凭据更改为不正确,则浏览器会自动继续使用其Proxy-Authorization标头中经过身份验证的凭据,并且请求会成功。反之亦然,如果身份验证失败,并且请求按照上面的示例被取消,则用户将其信用更改为正确的,服务器不会再次询问身份验证,并且请求失败,并且无法提供新的信用。

Chrome 也不允许修改传出Proxy-Authorization标头,这意味着不能在代码中删除/更改它以强制服务器再次质询。

所以我认为核心问题是:

  • 有谁知道从侦听器返回时详细信息保存在哪里 webRequest.onAuthRequired,有没有办法清除/清除?

  • 返回时实际发生了什么{cancel: true}以及为什么对该服务器的所有请求都会继续失败而不触发另一个onAuthRequired

感谢任何人都能发出的光芒!

Max*_*rtz -2

我实际上从未使用过它,但也许它是Cache-Control?这是标准的链接