XMLHttpRequest没有在firefox中缓存基本的HTTP身份验证

时间:2013-11-14 23:33:57

标签: javascript firefox xmlhttprequest firefox-addon

我正在尝试在自定义扩展程序中使用Firefox 25中的XMLHttpRequest对象授权具有基本HTTP身份验证的用户。

流程是这样的:

  1. 点击HTTP基本身份验证保护的网址,使用xml.open('GET', url, true, username, password)xml.setRequestHeaders('Authorization', 'Basic someBASE64encodedSTRING==')进行授权。
  2. 被重定向到另一个任意的,非HTTP基本保护的URL。
  3. 从步骤1重定向回我的受保护URL。在步骤1和3之间,基本身份验证将丢失,并且在步骤(3)中,再次向用户显示基本HTTP身份验证模式。
  4. 有没有办法强制浏览器(特别是firefox)缓存授权?

    在Chrome中,我可以使用chrome.webRequest.onAuthRequired侦听器来解决此问题:https://gist.github.com/Lordnibbler/2b616adfa4662ece5095

1 个答案:

答案 0 :(得分:0)

由于HTTP是无状态协议...... 在步骤1)中,一旦您进行身份验证 - Web服务器应该返回“会话ID” - Web服务器知道的唯一字符串,您已通过身份验证。您应该将“会话ID”保存到cookie中。 2)也许第2步返回会话ID - 也可能。否则无关紧要。 3)确保您发送“会话ID”与您的请求 - 应该工作

P.S。我只是随机弹出这里......我从未开发过任何firefox扩展程序。