我正在尝试自动登录Chrome扩展程序中的网站。
我正在使用最新版本的Chrome。 我尝试了几种语法和示例来徒劳地解雇OnAuthRequired。
chrome.webRequest.onAuthRequired.addListener(
function(details, callback) {
console.log("onAuthRequired!", details, callbackFn);
callback({authCredentials: {username: "test", password: "test"}});
},
{urls: ["<all_urls>"]}
["asyncBlocking"]
);
我也尝试了关键字“阻止”而不是“asyncBlocking”。
还试图创建一个函数:
function sendCredentials(status)
{
console.log(status);
return {username: "bob", password: "test"};
}
onAuthRequired永远不会开火。
我的清单包含:
"permissions": [ "contextMenus", "tabs", "https://*/*", "http://*/*", "clipboardWrite", "clipboardRead", "storage", "webRequest", "webRequestBlocking" ],
对于完整的故事,使用onBeforeRequest,我将一个特定的URL重定向到另一个URL。并且重定向的网址需要身份验证。
function onHookBeforeRequest(details)
{
return { redirectUrl: myServer};
}
我试图直接注入授权标头,但我找不到办法。 然后我试图挂钩onAuthRequired,我也被困在这里。 当重定向的URL需要身份验证时,它将返回带有WWW-Authenticate标头的401。
答案 0 :(得分:0)
通过退出Google Chrome并重新启动它来重新进行身份验证。
OSX 10.9.5上的Chrome版本45.0.2454.85(64位)