sql >> Base de Datos >  >> NoSQL >> MongoDB

Node.js y Passport Object no tienen método validPassword

Estás usando

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

pero no ha definido validPassword método. Adjúntelo a su esquema:

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

EDITAR También ha definido incorrectamente el esquema. Debería ser:

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

Tenga en cuenta que tanto username y password debe ser String escriba objetos, no cadenas "string" , Si sabes a lo que me refiero. :)