在快速会话中,我遇到了与nodejs保持持久会话的问题。
在logincontroller.js中
if(!req.session.authEmail)
req.session.authEmail = req.body.data.datasendtonode.signInEmailId;
console.log(req.session.authEmail);
这显示了我的会话价值
在 tokenSignIn.js
var useremail=req.session.authEmail;
console.log(useremail);
此显示未定义
答案 0 :(得分:0)
您必须更好地详细说明问题的流程并显示会话的配置参数,但是,如果重定向之间存在持久性问题,建议在文档中保存会话,然后再重定向请求。
router.get('/auth', (req, res, next)=>{
// YOUR PREVIOUS CODE
if(!req.session.authEmail){
req.session.authEmail = req.body.data.datasendtonode.signInEmailId
}
// YOUR NEXT CODE
req.session.save((err)=>{
if(!err){
return res.redirect('/theRouteToRedirect')
}
else { console.log(err) }
})
})
答案 1 :(得分:0)
默认情况下,Express将会话存储在内存中,并且每次重新启动应用程序时,该会话都会丢失。如果您希望会话继续进行,则必须签出redis-connect或mongo-connect之类的东西。
向我们显示您的身份验证过程和当前会话设置,以便我们更好地回答您的问题。