gpt4 book ai didi

javascript - 使用 bcrypt-nodejs 时出现“没有给出回调函数”错误

转载 作者:行者123 更新时间:2023-11-29 13:18:32 24 4
gpt4 key购买 nike

尝试使用 Bcrypt-nodejs 将加密密码存储在 Postgres 数据库中,当我们运行代码或运行我们的测试时,我们收到错误“未处理的拒绝没有给出回调函数”。

我们找不到任何有效的示例,想知道是否有其他人为此苦苦挣扎并找到了解决方案?

这是我们模型中的代码:

'use strict';
var bcrypt = require('bcrypt-nodejs');

module.exports = function(sequelize, DataTypes) {
var User = sequelize.define('User', {
first_name: DataTypes.STRING,
last_name: DataTypes.STRING,
email: DataTypes.STRING,
password_digest: DataTypes.STRING,
password: {
type: DataTypes.VIRTUAL,
allowNull: false,
validate: {
notEmpty: true
}
},
password_confirmation: {
type: DataTypes.VIRTUAL
}
}, {
classMethods: {
associate: function(models) {
// associations can be defined here
}
}
});
var hasSecurePassword = function(user, options, callback) {
if (user.password != user.password_confirmation) {
throw new Error("Password confirmation doesn't match Password");
}
bcrypt.hash(user.get('password'), 10, function(err, hash) {
if (err) { return callback(err); }
user.set('password_digest', hash);
return callback(null, options);
});
};

User.beforeCreate(function(user, options, callback) {
user.email = user.email.toLowerCase();
if (user.password) {
hasSecurePassword(user, options, callback);
} else {
return callback(null, options); }
});
return User;
};

最佳答案

您可能应该使用 bcrypt 而不是 bcrypt-nodejs

关于javascript - 使用 bcrypt-nodejs 时出现“没有给出回调函数”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45596751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com