res.cookie在服务器使用HTTPS时未定义



我使用的是用户登录逻辑,它将JWT保存在cookie中。

const token = jwt.sign({
username: login,
},
process.env.JWT_SECRET);
res.cookie("jwt", token, {
secure: false,
httpOnly: true,
});
console.log(res)
return res.status(200).json({
success: true,
username: login });

发出请求的前端运行HTTP。当服务器也在HTTP上运行时,一切都很好,但是当我选择HTTPS时,cookie根本不保存。将"secure"设置为true没有帮助。可能的原因是什么?

use secure: true, 

在cookie

的响应中

我最近也遇到了同样的问题,下面是我的解决方法。

我把res.cookie改成了

res.cookie("jwt", token, {
secure: true,
httpOnly: true,
sameSite: "None", // I add this line
}); 

最新更新