我正在编写 Firefox 扩展程序,并希望获取网站(或当前文档)的基本身份验证信息。
如何在 Firefox 扩展中获取基本身份验证信息?
我正在编写 Firefox 扩展程序,并希望获取网站(或当前文档)的基本身份验证信息。
如何在 Firefox 扩展中获取基本身份验证信息?
下面是一些使用nsIHttpAuthManager的示例代码:
实例化组件:
var proxyAuthenticationComponent = Components.classes["@mozilla.org/network/http-auth-manager;1"].getService(Components.interfaces.nsIHttpAuthManager);
设置信息:
proxyAuthenticationComponent.setAuthIdentity('http','192.168.0.1',80,"basic","Some Realm","","","username","password");
获取信息:
var domain = {}; //Will contain {value: ""}
var username = {}; //Will contain {value: "username"}
var password = {}; //Will contain {value: "password"}
proxyAuthenticationComponent.getAuthIdentity('http','192.168.0.1',80,"basic","Some Realm","",domain,username,password);
我在 Thunderbird 扩展中使用了它。希望这有帮助。
我找不到确切的答案,现在也没有时间进行试验,但似乎唯一的方法是使用NsIHttpChannel手动检查标头。
编辑:好的,我找到了 nsIHttpAuthManager:
此服务提供对在当前浏览器会话期间访问的站点的缓存 HTTP 身份验证用户凭据(域、用户名、密码)的访问。
看起来正是您需要的。