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?
感谢任何人都能发出的光芒!