我的加载项需要访问存储的凭据。在此,我想获取最近更改或使用的凭据。我看到我有LAST USED和LAST CHANGED字段,但是如何在JavaScript中访问这些字段?

我搜索并尝试了(https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/passwords),但是我什么也没得到。

最佳答案

这是如何获取所有当前存储的登录信息的列表:

var lm = Cc["@mozilla.org/login-manager;1"].getService(Ci.nsILoginManager);
var arrOfLogins = lm.getAllLogins();
var numberOfLogins = arrOfLogins.length;
console.info('arrOfLogins:', arrOfLogins);

var myObjs = [];
for (var i=0; i<numberOfLogins; i++) {
    var pushObj = {};
    pushObj.username = arrOfLogins[i].username;
    pushObj.password = arrOfLogins[i].password;
    pushObj.hostname = arrOfLogins[i].hostname;
    arrOfLogins[i].QueryInterface(Ci.nsILoginMetaInfo);
    pushObj.lastUsed = new Date(arrOfLogins[i].timeLastUsed);
    pushObj.lastChanged = new Date(arrOfLogins[i].timePasswordChanged);
    myObjs.push(pushObj);
}

console.info('myObjs:', myObjs);


如果用户具有主密码,则必须提示他们填写该密码,否则上述操作肯定会失败。

10-06 15:47