-1
私はnode.js
とpassport.js
の新機能です。 this videoを使用して認証アプリを作成する方法を学習しようとしていましたが、動画の31:04に達した後もこのエラーが発生し続けます。passport.jsを使用したユーザー認証でエラーが発生しました
"TypeError: Cannot read property 'name' of undefined at Authenticator.use"
これは私のapp.js
ファイルです:あなたはnew
オペレーターを呼び出す必要があり
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 +' /');
});
はい、これはそれでした!どうもありがとうございます。^_ ^ –