MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Node.js und Passport Object haben keine Methode validPassword

Sie verwenden

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

aber Sie haben validPassword nicht definiert Methode. Hängen Sie es an Ihr Schema an:

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

BEARBEITEN Sie haben auch das Schema falsch definiert. Es sollte sein:

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

Beachten Sie, dass sowohl username und password sollte String sein Typobjekte, keine Strings "string" , wenn du weißt, was ich meine. :)