重定向后会话不更新



我正在尝试创建一个登录系统,遇到一些非常奇怪的问题。

页面代码:

const { email, password } = req.body;
if(!email ||!password) return res.status(400).send("Missing required fields");
let user = await client.fetchUser({ username: email });
if(!user) user = await client.fetchUser({ email });
if(!user) return res.render("login.ejs", {bot:client,message:"Invalid email or password",type:"error"});
const valid = await bcrypt.compare(password, user.account.password);
if(!valid) return res.render("login.ejs", {bot:client,message:"Invalid email or password",type:"error"});
req.session.user = {
username: user.account.username,
password: user.account.password
}
return res.redirect('/dashboard');

return res.status(200).send("Success");

我试过做await req.session.save(),但那也不起作用。我也做了一些广泛的谷歌搜索,找不到答案。

请注意:这是一个POST请求

res.redirect不自动保存会话。req.session.save()不返回一个承诺,但需要一个回调函数:

req.session.save(function(err) {
if (err) res.status(500).send(err);
else res.redirect("/dashboard");
});

相关内容

  • 没有找到相关文章

最新更新