【发布时间】:2017-03-10 15:01:23
【问题描述】:
以下程序使用passportjs 进行用户名/密码验证。我不知道我犯了什么错误,但我总是被重定向到失败页面,即再次返回登录页面。
var passport = require('passport')
, LocalStrategy = require('passport-local').Strategy
, express = require('express');
var app = express();
app.listen(3000);
app.use(express.static(__dirname+'/public'));
app.use(passport.initialize());
app.use(passport.session());
passport.use(new LocalStrategy(
function(username, password, done) {
console.log(username + ':username');
console.log(password + ':password');
return done(null, [{username:'foo'}]);
}
));
app.get('/login',(req,resp) => {
var options = {
root: __dirname + '/public/'
};
resp.sendFile('login.html',options);
});
app.post('/login',
passport.authenticate('local', { successRedirect: '/',failureRedirect: '/login'})
);
我试图了解passportjs 的工作原理,我发现中间件passport.use(new LocalStrategy( 永远不会被调用。我不知道原因,但可能是失败的根本原因。
【问题讨论】:
标签: node.js passport.js middleware passport-local