Node.js nodejs,passportjs本地策略未运行
我正在使用express和passport构建一个RESTAPI后端,似乎我的localStrategy没有被请求调用Node.js nodejs,passportjs本地策略未运行,node.js,Node.js,我正在使用express和passport构建一个RESTAPI后端,似乎我的localStrategy没有被请求调用 var express = require('express'); var passport = require('passport'); var LocalStrategy = require('passport-local').Strategy; var app = express(); var port = process.env.PORT
var express = require('express');
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
var app = express();
var port = process.env.PORT || 3000;
app.get('/', function(req, res) {
res.render('index.ejs');
});
app.get('/login', function(req, res) {
console.log('login /GET');
res.render('login.ejs');
});
passport.use('local', new LocalStrategy({
usernameField : 'username',
passwordField : 'password'
},
function(username, password, done) {
console.log('local strategy');
return done(null, {username : 'username'});
}
));
app.post('/login', function(req, res, next){
passport.authenticate('local', function(err, user, info) {
console.log('auth run');
if (err) {
return next(err);
}
if (!user) {
return res.redirect('/login');
}
req.logIn(user, function(err) {
if (err) { return next(err); }
return res.redirect('/users/' + user.username);
});
})(req, res, next);
});
app.listen(port);
console.log('listenting http://localhost:' + port);
我的登录请求在控制台中显示消息,但仅此而已
有什么想法吗?你错过了一些东西
app.use(express.urlencoded());
app.use(passport.initialize());
您可能还需要处理序列化用户对象的问题