0

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

流程是这样的:

  1. 点击受 HTTP 基本身份验证保护的 URL,使用xml.open('GET', url, true, username, password)或授权xml.setRequestHeaders('Authorization', 'Basic someBASE64encodedSTRING==')
  2. 被重定向到另一个任意的、不受 HTTP 基本保护的 URL。
  3. 从第 1 步重定向回我的受保护 URL。在第 1 步和第 3 步之间,基本身份验证丢失,在第 (3) 步中,用户再次看到基本 HTTP 身份验证模式。

有没有办法强制浏览器(特别是火狐)缓存授权?

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

4

1 回答 1

0

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

ps 我只是随机出现在这里...我从未开发过任何 Firefox 扩展。

于 2013-11-15T00:04:37.777 回答