Como chegar Informações de autenticação básica em uma extensão do Firefox?
-
10-07-2019 - |
Pergunta
Eu estou codificação uma extensão do Firefox e deseja obter informações de autenticação básica para um site (ou para o documento atual).
Como posso obter Informações Básicas autenticação em uma extensão do Firefox?
Solução
Eu não poderia encontrar uma resposta exata e não têm tempo para experimentar agora, mas parece que a única maneira é examinar manualmente cabeçalhos usando NsIHttpChannel .
EDIT: Ok, eu encontrei nsIHttpAuthManager :
Este serviço fornece acesso a cache HTTP credenciais de usuário de autenticação (domínio, nome de usuário, senha) para sites visitados durante a sessão atual do navegador.
parece exatamente o que você precisa.
Outras dicas
Aqui está um código de exemplo para usar nsIHttpAuthManager :
instanciar o componente:
var proxyAuthenticationComponent = Components.classes["@mozilla.org/network/http-auth-manager;1"].getService(Components.interfaces.nsIHttpAuthManager);
Definir as informações:
proxyAuthenticationComponent.setAuthIdentity('http','192.168.0.1',80,"basic","Some Realm","","","username","password");
Obter a informação:
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);
Eu usei isso em uma extensão Thunderbird. Espero que isso ajuda.