Как получить базовую информацию для аутентификации в расширении Firefox?

StackOverflow https://stackoverflow.com/questions/637945

Вопрос

Я кодирую расширение Firefox и хочу получить базовую информацию об аутентификации для веб-сайта (или для текущего документа).

Как я могу получить базовую информацию об аутентификации в расширении Firefox?

Это было полезно?

Решение

Я не смог найти точный ответ, и сейчас у меня нет времени экспериментировать, но, похоже, единственный способ - вручную просмотреть заголовки, используя Канал NsIHttpChannel.

Редактировать:Хорошо, я нашел nsIHttpAuthManager:

Эта служба предоставляет доступ к кэшированным учетным данным пользователя HTTP-аутентификации (домен, имя пользователя, пароль) для сайтов, посещенных во время текущего сеанса браузера.

Похоже, это именно то, что вам нужно.

Другие советы

Вот пример кода для использования 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. Надеюсь, что это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top