Comment obtenir des informations d'authentification de base dans une extension Firefox?
-
10-07-2019 - |
Question
Je code une extension Firefox et souhaite obtenir des informations d'authentification de base pour un site Web (ou pour le document actuel).
Comment obtenir des informations d'authentification de base dans une extension Firefox?
La solution
Je ne trouvais pas de réponse exacte et je n'ai pas le temps d'expérimenter pour le moment, mais il semble que le seul moyen consiste à examiner manuellement les en-têtes à l'aide de NsIHttpChannel .
EDIT: Ok, j’ai trouvé nsIHttpAuthManager :
Ce service fournit un accès aux informations d'identification d'utilisateur d'authentification HTTP (domaine, nom d'utilisateur, mot de passe) mises en cache pour les sites visités pendant la session de navigateur en cours.
On dirait exactement ce dont vous avez besoin.
Autres conseils
Voici un exemple de code d'utilisation de nsIHttpAuthManager :
Instanciez le composant:
var proxyAuthenticationComponent = Components.classes["@mozilla.org/network/http-auth-manager;1"].getService(Components.interfaces.nsIHttpAuthManager);
Définissez les informations:
proxyAuthenticationComponent.setAuthIdentity('http','192.168.0.1',80,"basic","Some Realm","","","username","password");
Obtenir les informations:
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);
Je l'ai utilisé dans une extension Thunderbird. J'espère que cela vous aidera.