-1
私は何が問題なのか分かりませんが、明示的セッションを使用するときにはっきりとわかります。私はreq.session.whateverを設定しても、クライアントはconnect.sidのクッキーを取得しません。
module.exports = function(app){
app.get('/',function(req,res){
var username = req.session.username ||'';
res.render('index',{username:username});
});
app.post('/sign-up',function(req,res){
users_controller.signUp(req,res);
res.redirect('/');
})
app.post('/log-in',function(req,res){
users_controller.logIn(req,res);
res.redirect('/');
})};
とusers_controller.logIn機能
exports.logIn = function(req,res){
User.findOne({email:req.body.email}).exec(function(err,user){
if(!user){
err = 'User Not Found';
} else if (user.hashed_password===hashPW(req.body.password.toString())){
req.session.user = user.id;
req.session.username = user.username;
req.session.msg = "success authenticated as " + user.username;
console.log(req.session);
}else{
err = "Wrong Password";
}
if(err){
req.session.regenerate(function(){
req.session.msg = err;
});
}
});
私は私のapp.postにreq.session.whatever直接設定(コールバック '/インをログ')、すべてがうまく動作します。しかし、別のファイルから必要とされたlogIn関数を使用すると、それでも、req.session.whateverをログに記録することはできますが、クライアント側は応答ヘッダーからセットクッキーを取得しません。 私は本当に混乱しています。