2017-10-11 1 views
0

J'ai un problème en essayant de m'inscrire avec passeport local mongoose.Passeport local mongoose cb n'est pas une fonction

Quand je soumets le formulaire d'inscription ce journal des erreurs:

enter image description here

utilisateur:

var mongoose = require('mongoose'), 
    passportLocalMongoose = require('passport-local-mongoose'); 

var UserSchema = new mongoose.Schema({ 
    username: String, 
    password: String, 
    email: String 
}); 

UserSchema.plugin(passportLocalMongoose); 

module.exports = mongoose.model("User", UserSchema); 

Controller User:

var db     = require('../vendor/db'), 
    passport    = require('passport'), 
    User     = require('../model/user'); 


module.exports = { 
    register: function(req, res){ 
     User.register(new User({email: req.body.email, username: req.body.username}, req.body.password, function (err, user) { 
      if(err){ 
       console.log(err); 
       return res.render('user/register.twig'); 
      } 
      passport.authenticate("local")(req, res, function(){ 
       res.redirect("/home"); 
      }); 
     })); 
    }, 
    isLoggedIn: function (req, res, next) { 
     if (req.isAuthenticated()) 
      return next(); 
     res.redirect('/'); 
    } 
}; 

Qu'est-ce qui ne va pas?

Répondre

1

J'ai eu la même erreur, je manque un ")" Nouvel utilisateur()

Il devrait ressembler à ceci:

new User({email: req.body.email, username: req.body.username}),req.body.password, function (err, user) {...