Hub*_* OG 8 javascript passwords user-accounts meteor meteorite
用户可以在我的应用中执行一些不可逆转的操作.为了增加安全级别,我想验证执行此类操作的人员实际上是登录用户.我怎样才能实现它?
对于有密码的用户,我想要一个要求再次输入用户密码的提示.我怎样才能在不通过网络发送密码的情况下验证密码?
通过外部服务登录的用户是否可以采取类似的操作?如果是的话,如何实现呢?
Dav*_*don 19
我可以帮助解决第一个问题.在撰写本文时,流星没有checkPassword
方法,但是你可以这样做:
在客户端上,我将假设您有一个带有输入调用的表单和一个名为password
的按钮check-password
.事件代码可能如下所示:
Template.userAccount.events({
'click #check-password': function() {
var digest = Package.sha.SHA256($('#password').val());
Meteor.call('checkPassword', digest, function(err, result) {
if (result) {
console.log('the passwords match!');
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
然后在服务器上,我们可以实现这样的checkPassword
方法:
Meteor.methods({
checkPassword: function(digest) {
check(digest, String);
if (this.userId) {
var user = Meteor.user();
var password = {digest: digest, algorithm: 'sha-256'};
var result = Accounts._checkPassword(user, password);
return result.error == null;
} else {
return false;
}
}
});
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅我的博文.我会尽我所能让它保持最新.
归档时间: |
|
查看次数: |
5035 次 |
最近记录: |