我的应用程序是使用express的nodejs web应用程序。它是一个有cms和api的投资组合网站。
在我的登录路线中,我有以下代码:
passport.authenticate('local', function(err, user, info){
if(err){
return next(err);
} else if(!user){
res.format({
json: function(){
return error.throw403(req, res, next);
},
html: function(){
return res.redirect('/login');
}
});
} else {
console.log('login route, user');
console.log(user);
req.logIn(user, function(err){
if(err){
return next(err);
} else {
res.format({
json: function(){
return res.send(user);
},
html: function(){
return res.redirect('/cms/users');
}
});
}
});
}
})(req, res, next);
我的heroku日志告诉我用户已定义且正确。 req.logIn()
触发,成功并重定向(应该)到/cms/users
。但是,我在/cms/users
获得403,因为req.user
不在请求中。这让我觉得我的会议不会持久,但我不是专家,也不知道下一步该做什么。
我正在使用redistogo和mongolab,并且两个配置都是使用CLI设置的。有什么建议?我被卡住了!感谢。
编辑:我应该补充一点,在我的本地机器上一切正常。
答案 0 :(得分:1)
文档是我应该开始的地方。
https://devcenter.heroku.com/articles/redistogo#using-with-node-js
我按照该网站上的每个配置跟随该字母,然后调整应用配置顺序,直到它工作。