MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Node.js et Passport Object n'ont pas de méthode validPassword

Vous utilisez

if (!user.validPassword(password)) {
    return done(null, false, { message: 'Incorrect password.' });
}

mais vous n'avez pas défini validPassword méthode. Attachez-le à votre schéma :

var authSchema = mongoose.Schema({ 
    username: 'string',
    password: 'string'
});
authSchema.methods.validPassword = function( pwd ) {
    // EXAMPLE CODE!
    return ( this.password === pwd );
};

MODIFIER Vous avez également mal défini le schéma. Cela devrait être :

var authSchema = mongoose.Schema({ 
    username: String,
    password: String
});

Notez que les deux username et password devrait être String tapez des objets, pas des chaînes "string" , si tu vois ce que je veux dire. :)