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

Não consigo fazer o Passport.js funcionar


Você não está definindo o parâmetro inicial do passaporte.use e passando o req de volta para o retorno de chamada, por exemplo - do meu código:
passport.use('local-login', new LocalStrategy({
    // by default, local strategy uses username and password, we will override with email
    usernameField : 'email',
    passwordField : 'password',
    passReqToCallback : true // allows us to pass back the entire request to the callback
},
function(req, email, password, done) {

    // asynchronous
    // User.findOne wont fire unless data is sent back
    process.nextTick(function() {

      db.Account.findOne( { ...

Você pode então autenticar usando:
passport.authenticate('local-login',function(err,user,info){

No seu caso, você está chamando o passaporte.authenticate 'local' para que seu primeiro parâmetro no passaporte.use seja 'local' para que ele chame a estratégia correta