最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

尝试使用bcrypt,比较并返回Promise {}

IT培训 admin 4浏览 0评论

尝试使用bcrypt,比较并返回Promise { }

我正在尝试使用aws lambda,猫鼬和bcryptjs创建登录api。我的lambda处理程序使用async,我只是想通过使用bcryptjs模块中的bcryptpare()函数将用户输入的密码与数据库中已经哈希的密码进行比较。但是,我的代码不断给我Promise {},所以我尝试了多种方法来解决此问题,但仍然有问题。我是使用异步的新手,所以我可能做错了,所以请不要对我苛刻:)

我通过使用以下代码从MongoDB地图集获取带有加密密码的用户帐户数据,它可以正常工作。

let user = await User.findOne(query).select('_id name email password');

我也有一个像下面一样在user.js文件中创建的猫鼬方法。

UserSchema.methodsparePassword = function(password) {
     return bcryptpare(password, this.password);
};

因此上述方法被调用,并使用以下代码在console.log中打印结果。

let passwordValid = userparePassword(parameters.password);
console.log('Password is validated', passwordValid);

它给了我

INFO    Password is validated Promise { <pending> }

在lambda控制台中。

我已经进行了很多搜索,所以我尝试使用await在comparePassword之前,如下所示,仍然无法正常工作。

let passwordValid = await userparePassword(parameters.password);

我也尝试过通过使用then()来解决返回的诺言,如下所示

let passwordValid = userparePassword(parameters.password);
passwordValid.then(function(err, result) {
    callback(null, {
       "statusCode": 200,
            "headers": {
                "Content-Type": "application/json"
            },
            "body": JSON.stringify({
                "success": false,
                "content": result
            })
    });
});

但是,这依我的意愿仍然无法正常工作。我收到的唯一答复是

 {
   "message": "Internal server error"
 }

我正在尝试使用aws lambda,猫鼬和bcryptjs创建登录api。我的lambda处理程序使用async,而我只是想将用户输入的密码与已散列的密码进行比较,即...

回答如下:

您看过https://www.npmjs/package/bcrypt吗?

尝试使用bcrypt,比较并返回Promise { }

我正在尝试使用aws lambda,猫鼬和bcryptjs创建登录api。我的lambda处理程序使用async,我只是想通过使用bcryptjs模块中的bcryptpare()函数将用户输入的密码与数据库中已经哈希的密码进行比较。但是,我的代码不断给我Promise {},所以我尝试了多种方法来解决此问题,但仍然有问题。我是使用异步的新手,所以我可能做错了,所以请不要对我苛刻:)

我通过使用以下代码从MongoDB地图集获取带有加密密码的用户帐户数据,它可以正常工作。

let user = await User.findOne(query).select('_id name email password');

我也有一个像下面一样在user.js文件中创建的猫鼬方法。

UserSchema.methodsparePassword = function(password) {
     return bcryptpare(password, this.password);
};

因此上述方法被调用,并使用以下代码在console.log中打印结果。

let passwordValid = userparePassword(parameters.password);
console.log('Password is validated', passwordValid);

它给了我

INFO    Password is validated Promise { <pending> }

在lambda控制台中。

我已经进行了很多搜索,所以我尝试使用await在comparePassword之前,如下所示,仍然无法正常工作。

let passwordValid = await userparePassword(parameters.password);

我也尝试过通过使用then()来解决返回的诺言,如下所示

let passwordValid = userparePassword(parameters.password);
passwordValid.then(function(err, result) {
    callback(null, {
       "statusCode": 200,
            "headers": {
                "Content-Type": "application/json"
            },
            "body": JSON.stringify({
                "success": false,
                "content": result
            })
    });
});

但是,这依我的意愿仍然无法正常工作。我收到的唯一答复是

 {
   "message": "Internal server error"
 }

我正在尝试使用aws lambda,猫鼬和bcryptjs创建登录api。我的lambda处理程序使用async,而我只是想将用户输入的密码与已散列的密码进行比较,即...

回答如下:

您看过https://www.npmjs/package/bcrypt吗?

发布评论

评论列表 (0)

  1. 暂无评论