我正在使用护照进行本地身份验证。它现在非常简单,只需一个简单的登录表单和登录路线。它在我的Mac上运行时效果很好,但是当我将它上传到机架空间服务器并尝试时,我尝试将表单提交到/ login时会出现超时。
相关代码(如果我需要添加更多内容,请告诉我):
//Passport SETUP
passport.serializeUser(function (user, done) {
console.log("serialized");
done(null, user.username);
});
passport.deserializeUser(function (username, done) {
console.log("deserialized");
user = users.getUserByUsername(username);
done(null, user);
});
passport.use(new LocalStrategy(
function (username, password, done) {
users.loginUser(username, password, function(err, user) {
if (err) { return done(err); }
if (user) {
return done(null, user);
} else {
return done(null, false, { message: 'Incorrect Login.'});
}
});
}
));
//middleware
var loginRequired = function(req, res, next){
if (req.isAuthenticated()) { return next(); }
res.redirect('/');
};
//using passport
app.post('/login',
passport.authenticate('local', { successRedirect: '/game',
failureRedirect: '/',
failureFlash: true })
);
//page that i want to eventually get to
app.get('/game', loginRequired, function(req, res){
res.render('game', {title:"Game Page"});
});
注意 - 现在反序列化只是一个返回用户对象的骗子,最终它将是一个回调而且所有这些:)。
答案 0 :(得分:0)
:(在扔进console.logs之后,我发现它是mysql。用户不是在服务器上创建的。不知道为什么mysql-simple-pool没有错误输出,但它没有。