可以通过Google Chrome扩展程序获取HTTP auth登录用户的用户名?

时间:2012-05-03 16:04:13

标签: google-chrome-extension

请问,是否可以通过Google Chrome扩展程序获取HTTP auth登录用户的用户名?权限不是问题,我可以设置所有这些。

谢谢!

http://code.google.com/chrome/extensions/devguide.html

1 个答案:

答案 0 :(得分:1)

您可以使用webRequest API查看标题。以下是一些示例代码,用于解析所有HTTP请求的Authorization标头中的base64编码用户名和密码:

chrome.webRequest.onSendHeaders.addListener(function(details) {
    console.log(details.url, details.requestHeaders);
    for(var i = 0; i < details.requestHeaders.length; ++i) {
        var header = details.requestHeaders[i];
        if(header.name == "Authorization") {
            // this is my quick effort for parsing the auth value
            // formatted like "Basic [base64 of 'user:pass']"
            var b64val = header.value.split(" ")[1];
            var credArray = atob(b64val).split(":");
            var user = credArray[0];
            var pass = credArray[1];

            // now do something with user/pass
        }
    }
},
{"urls":["*://*/*"]},
["requestHeaders"]);