javascript – 在Meteor中验证用户密码

前端之家收集整理的这篇文章主要介绍了javascript – 在Meteor中验证用户密码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
用户可以在我的应用中执行一些不可逆转的操作.为了增加安全级别,我想验证执行此类操作的人员实际上是登录用户.我怎样才能实现它?

>对于有密码的用户,我想要一个要求再次输入用户密码的提示.我以后如何验证此密码,而无需通过网络发送?
>对于通过外部服务登录用户,是否可以执行类似操作?如果是的话,如何实现呢?

解决方法

我可以帮助解决第一个问题.在撰写本文时,meteor没有checkPassword方法,但是你可以这样做:

在客户端上,我将假设您有一个带有输入密码的表单和一个名为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!');
      }
    });
  }
});

然后在服务器上,我们可以像这样实现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;
    }
  }
});

有关详细信息,请参阅我的blog post.我会尽力保持最新.

猜你在找的JavaScript相关文章