我正在开发基于 React 和 Nodejs 的全栈 Web 应用程序。 我将前端部署到 Nelify,后端部署到 heroku。它在本地机器上运行良好,但在日志部分部署后出现问题。除了日志记录,一切都运行良好。我猜 res.cookie('w_auth',user.token) 将 jwt 令牌发送到网络浏览器,但它没有设置,也没有显示任何错误消息。
这是我向浏览器发送cookies的后端
const cookieOpt = {
maxAge: 60 * 60 * 1000,
domain: front-end domain,
secure: true,
sameSite: 'None',
}
user.generateToken((err, user) => {
if (err) return res.status(400).send(err);;
res.cookie('w_authExp', user.tokenExp, cookieOpt);
res.cookie('w_auth', user.token, cookieOpt).status(200).json({
loginSuccess: true,
userId: user._id,
});
});
前端域是 HTTPS nelify 域。
这是 chrome 开发工具中标头中的 set-cookie。
Set-cookie 标头不会为浏览器设置 cookie。 我可以看到警报图标,但奇怪的是,它没有显示任何错误消息。
我尝试将标题设置为
// res.setHeader('Access-Control-Allow-Credentials', true); // res.setHeader('Access-Control-Allow-Origin:', front-domain);
并在 httpOnly
中给出 cookieOpt
选项
但这些不起作用。
有没有人对熨烫有清楚的想法?