À l'aide de BCrypt avec Sequelize Modèle

Je suis en train d'utiliser le bcrypt-nodejs paquet avec mon sequelize modèle et a été tring de suivre un tutoriel pour intégrer le hachage dans mon modèle, mais j'obtiens une erreur à generateHash. Je n'arrive pas à comprendre le problème. Est-il un meilleur moyen d'intégrer bcrypt?

Erreur:

/Users/user/Desktop/Projects/node/app/app/models/user.js:26
User.methods.generateHash = function(password) {
                          ^
TypeError: Cannot set property 'generateHash' of undefined
    at module.exports (/Users/user/Desktop/Projects/node/app/app/models/user.js:26:27)
    at Sequelize.import (/Users/user/Desktop/Projects/node/app/node_modules/sequelize/lib/sequelize.js:641:30)

modèle:

var bcrypt = require("bcrypt-nodejs");

module.exports = function(sequelize, DataTypes) {

var User = sequelize.define('users', {
    annotation_id: {
        type: DataTypes.INTEGER,
        autoIncrement: true,
        primaryKey: true
    },
    firstName: {
        type: DataTypes.DATE,
        field: 'first_name'
    },
    lastName: {
        type: DataTypes.DATE,
        field: 'last_name'
    },
    email: DataTypes.STRING,
    password: DataTypes.STRING,

}, {
    freezeTableName: true
});

User.methods.generateHash = function(password) {
    return bcrypt.hashSync(password, bcrypt.genSaltSync(8), null);
};

User.methods.validPassword = function(password) {
    return bcrypt.compareSync(password, this.local.password);
};
    return User;
}
Juste une remarque: avant de déployer ce, d'essayer et d'utiliser le native bcrypt module à la place de la bcrypt-module nodejs. Cela permettra d'accélérer le hachage beaucoup parce que c'est implémenté en C++ au lieu de JavaScript.

OriginalL'auteur cphill | 2015-12-06