如何使用Passportjs在没有流星的情况下对流星数据库中的用户进行身份验证



我计划为我的流星应用程序编写一个单独的API,该应用程序可用于连接移动应用程序和其他一些第三方系统。我目前使用React Native Meteor插件直接连接流星应用程序。但是我们需要从流星拆卸移动应用程序。为此,我将创建一个直接连接到数据库的单独的API。因此,我将可以访问Meteor创建的旧用户帐户。我可以使用相同的帐户通过护照对用户进行身份验证?

是。假设您拥有用户名和密码,则可以通过加密给定密码,然后将其与用户的存储密码进行比较来使用帐户包。这是您使用NPM软件包在流星中做到这一点的方法。

function authenticateUser(username, password){
    //encrypting password
    var bcrypt = Package['npm-bcrypt'].NpmModuleBcrypt;
    var SHA256 = Package.sha.SHA256;
    var hashedPass= SHA256(password);
    var bcryptHash = Meteor.wrapAsync(bcrypt.hash);
    hashedPass = bcryptHash(hashedPass, 10);
    //current password
    var user = Meteor.users.findOne({username:username})
    if (user) {
        var pass = user.services.password.bcrypt;
        return pass === hashedPass;
    }
    return false;
}

最新更新