2017-05-30 2 views
-1

Ich bin sehr neu zu node.js und passport.js. Ich habe versucht, zu lernen, wie man eine Authentifizierungs-App mit this video macht, aber ich bekomme diesen Fehler nach Erreichen von 31.04 im Video.Benutzerauthentifizierung passport.js Fehler geben mit

"TypeError: Cannot read property 'name' of undefined at Authenticator.use"

Das ist mein app.js Datei:

var express = require('express'); 
var bodyParser = require('body-parser'); 
var cookieParser = require('cookie-parser'); 
var expressSession = require('express-session'); 

var passport = require('passport'); 
var passportLocal = require('passport-local'); 

var app = express(); 

app.set('view engine', 'ejs'); 

app.use(bodyParser.urlencoded({ extended: false })); 
app.use(cookieParser()); 
    secret: process.env.SESSION_SECRET 
app.use(expressSession({ || 'secret', 
    resave: false, 
    saveUninitialized: false 
})); 


app.use(passport.initialize()); 
app.use(passport.session()); 

passport.use(passportLocal.Strategy(function(username, password, done){ 
    //connect to a real db here 
    if(username===password){ 
     done(null,{id: username, name: username}); 
     //these actually have to bbe pulled from the db 
    } 
    else{ 
     done(null,null); 
    } 
})); 


app.get('/', function(req, res){ 
    res.render('index',{ 
     isAuthenticated: req.isAuthenticated(), 
     user: req.user 

    }); 
}); 

app.get('/login', function(req, res){ 
    res.render('login'); 
}); 

app.post('/login', passport.authenticate('local' , function(req,res){ 
    res.redirect('/'); 
})); 



var port = process.env.PORT || 1337; 

app.listen(port, function(err,res){ 
    if(err) 
     console.log(err); 
    else 
     console.log('server started on localhost:'+ port +' /'); 
}); 

Antwort

0

Sie haben die new Betreiber anrufen:

passport.use(new passportLocal.Strategy(function(username, password, done){ 
    //connect to a real db here 
    if(username===password){ 
     done(null,{id: username, name: username}); 
     //these actually have to bbe pulled from the db 
    } 
    else{ 
     done(null,null); 
    } 
})); 

Ich glaube, das ist Ihr Problem.

+0

Ja, das war es! Ich danke dir sehr.^_ ^ –