MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Node.js e Passport Object não tem método validPassword


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

mas você não definiu validPassword método. Anexe-o ao seu esquema:
var authSchema = mongoose.Schema({ 
    username: 'string',
    password: 'string'
});
authSchema.methods.validPassword = function( pwd ) {
    // EXAMPLE CODE!
    return ( this.password === pwd );
};

EDITAR Você também definiu incorretamente o esquema. Deveria ser:
var authSchema = mongoose.Schema({ 
    username: String,
    password: String
});

Observe que tanto username e password deve ser String objetos de tipo, não strings "string" , se você souber o que quero dizer. :)