0

Ich brauche Hilfe mit einem Problem, das ich nicht verstehe.nodejs, passpjs und sequelize mit Pass-local

Zunächst einmal ist dies der Fehler Ich habe:

Error: Route.post() requires callback functions but got a [object Undefined] 

Ich habe versucht, Pass-local zu verwenden, um meine API zu schützen.

nenne ich die API wie folgt aus:

router.route("/login") 
.post(passport.authenticate('local', {session: false}) ,login.get); 

Die getToken Funktion wie folgt aussieht:

function get(req, res) { 
res.send([{"stack": "overflow"}]); 

}

Und das ist meine Strategie:

var local = new LocalStrategy(options, 
function(username, password, done) { 
    models.user.findOne({where:{ username: username}}).then(function(err, user) { 
     if (err) { return done(err); } 
     if (!user) { 
      return done(null, false); 
     } 
     return done(null, user); 
    }); 
}); 

Was ist falsch in meinem s etup?

Antwort

0

vielleicht, weil login.get eigentlich undefiniert ist. versuchen, etwas wie folgt aus:

router.route('/login') 
.post(passport.authenticate('local', {session: false}), 
     function (req, res, next) { 
      // callback here 
     }); 

oder eine andere Art und Weise sein könnte:

router.post('/login', passport.authenticate('local', {session: false}), function (req, res) { ... }); 
+0

login.get ist definiert Trog: module.exports = {get}; in der Login-Controller –

+0

Sie sagen also, dass es definiert ist? hast du versucht, es zu protokollieren? stellen Sie etwas mehr Code zur Verfügung, wenn Sie können. –

+0

Du hattest recht, meine Funktion hat beim Rückruf den nächsten gefehlt. Vielen Dank! –

Verwandte Themen