Mozilla附加组件开发:访问密码管理器中最后使用或最后更改的字段 [英] Mozilla Add-on development: Accessing LAST USED or LAST CHANGED fields in password manger

查看:139
本文介绍了Mozilla附加组件开发:访问密码管理器中最后使用或最后更改的字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的附加组件需要访问存储的凭据。在这个我想获得最近更改或使用的凭据。我看到我有最后使用和最后更改的字段,但我如何访问我的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);

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


My add-on needs to access stored credentials. In this I want to get the credentials that was changed or used recently. I see that I have LAST USED and LAST CHANGED fields but how do I access those fields in my javascript?

I searched and also tried ( https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/passwords ) but I couldn't get anything.

解决方案

This is how to get a list of all the currently stored login informations:

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);

If the user has a master password, you have to prompt them to fill it out, otherwise the above iwll fail im pretty sure.

这篇关于Mozilla附加组件开发:访问密码管理器中最后使用或最后更改的字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆