如何在Chrome扩展程序上删除代理授权缓存?

时间:2016-04-26 15:55:20

标签: google-chrome authentication caching google-chrome-extension proxy

我正在为chrome构建一个“代理客户端”扩展,我有以下场景:

  • 用户可以登录扩展程序并从API获取令牌。代币有效期为2小时。
  • 登录后,用户可以从列表中选择代理服务器,并使用chrome.proxy api设置该代理。
  • 我在代理服务器上使用Squid。当用户连接到代理服务器并登陆onAuthRequired时,我将电子邮件和令牌作为authCredentials返回。

Chrome会使用来自缓存的凭据,直到令牌无效并且代理服务器响应“407,需要代理身份验证”。现在我面临的问题是当我在同一浏览器上使用另一个用户名登录并连接到同一个代理服务器时,它仍然会将旧用户凭据发送到服务器,因为它们仍然有效。我的问题是如何删除chromes代理auth缓存,以便它再次登陆onAuthRequired,我可以返回新用户凭据。

当用户通过代理服务器发出第一个请求以强制onAuthRequired但它无效时,我尝试将代理服务器的响应修改为“407,需要代理身份验证”。 Chrome仍然使用缓存,仍然会将旧用户的凭据返回给代理服务器。

1 个答案:

答案 0 :(得分:0)

您是否尝试在webRequest API中连接另一个事件处理程序,以便在Chrome进行身份验证之前操纵http标头?

E.g。 onBeforeSendHeaders或onHeadersReceived