我正在尝试使用 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"]
);
我也尝试使用关键字“blocking”而不是“asyncBlocking”。
还尝试创建一个函数:
function sendCredentials(status)
{
console.log(status);
return {username: "bob", password: "test"};
}
onAuthRequired 永远不会触发。
我的 list 包含:
"permissions": [ "contextMenus", "tabs", "https://*/*", "http://*/*", "clipboardWrite", "clipboardRead", "storage", "webRequest", "webRequestBlocking" ],
对于完整的故事,我使用 onBeforeRequest 将一个特定的 URL 重定向到另一个 url。并且重定向的 url 需要身份验证。
function onHookBeforeRequest(details)
{
return { redirectUrl: myServer};
}
我试图直接注入(inject)授权 header ,但没有找到实现它的方法。 然后我尝试 Hook onAuthRequired 并且我也被困在这里。 当重定向的 url 需要身份验证时,它会返回带有 WWW-Authenticate header 的 401。
最佳答案
通过退出 Google Chrome 并重新启动它来重新验证它。
OSX 10.9.5 上的 Chrome 版本 45.0.2454.85(64 位)
关于javascript - chrome onAuthRequired 不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31712192/