2016-04-23 16 views
2

Hallo ich bin neu in NodeJs und ich habe dieses Tutorial http://code.tutsplus.com/tutorials/authenticating-nodejs-applications-with-passport--cms-21619 folgen, um eine App mit der Authentifizierung zu erstellen. Ich habe versucht, alle structre und Code aus dem Tutorial zu folgen (Code ist auf Github https://github.com/tutsplus/passport-mongo), aber wenn ich in meinem Browser-App öffnen ich bekomme Fehler diese Fehlerpass.authenticate ist keine Funktion

TypeError: passport.authenticate is not a function at module.exports (C:\myApp\routes\index.js:24:34)

Dies ist meine index.js Routendatei

Wahrscheinlich ist das Problem da, vielleicht war Routing Änderung in einigen Versionen von Express, aber ich kann nicht herausfinden, was das Problem ist. Können Sie mir bitte helfen?

Antwort

5

Ich hatte das gleiche Problem. Sehen Sie sich app.js an. Es muss sein:

var routes = require('./routes/index')(passport); 
-1

Sie haben gerade die Klammer an die falsche Stelle gesetzt. Es sollte

sein
router.post('/login', passport.authenticate('login'), { 
    successRedirect: '/home', 
    failureRedirect: '/', 
    failureFlash : true 
    });