Set-cookie Header 不会为浏览器设置 cookie

时间:2021-07-28 00:17:04

标签: node.js http cookies setcookie httpcookie

我正在开发基于 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。

enter image description here

Set-cookie 标头不会为浏览器设置 cookie。 我可以看到警报图标,但奇怪的是,它没有显示任何错误消息。

我尝试将标题设置为 // res.setHeader('Access-Control-Allow-Credentials', true); // res.setHeader('Access-Control-Allow-Origin:', front-domain); 并在 httpOnly 中给出 cookieOpt 选项 但这些不起作用。 有没有人对熨烫有清楚的想法?

0 个答案:

没有答案