我的加载项需要访问存储的凭据。在此,我想获取最近更改或使用的凭据。我看到我有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);
如果用户具有主密码,则必须提示他们填写该密码,否则上述操作肯定会失败。