【问题标题】:Cookies don't get stored in localhostCookie 不会存储在本地主机中
【发布时间】:2019-12-12 10:07:26
【问题描述】:

我正在尝试在用户登录应用程序时设置 cookie,但我似乎无法将 cookie 存储在 chrome 或 firefox 上,但它确实适用于邮递员。

这是我尝试设置 cookie 时的代码部分。

  res.cookie("jwt", token, {
    domain: ".localhost",
    path: "/",
    expires: new Date(
      Date.now() + process.env.JWT_COOKIE_EXPIRES_IN * 24 * 60 * 60 * 1000
    ),
    httpOnly: true
  });

邮递员输出:

还有我的 CORS 设置:

注意:我的服务器在 3900 端口,我的客户端在 3000

【问题讨论】:

  • 您是否尝试删除 .在本地主机之前?
  • 是的,它不起作用
  • 抱歉不知道。 ://
  • 在本地主机上设置 cookie 时尝试省略域部分,查看此答案以获取更多信息:stackoverflow.com/questions/1134290/…
  • 只是仔细检查一下,考虑到这是一个仅限 HTTP 的 cookie,您是如何检查浏览器中没有它的?

标签: javascript node.js reactjs express cross-domain


【解决方案1】:

使用 localhost:3000 作为域,因为它是客户端的实际域。 localhost 默认使用 80 端口作为 http 请求。

res.cookie("jwt", token, {
    domain: ".localhost:3000",
    path: "/",
    expires: new Date(
      Date.now() + process.env.JWT_COOKIE_EXPIRES_IN * 24 * 60 * 60 * 1000
    ),
    httpOnly: true
  });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-26
    • 1970-01-01
    • 1970-01-01
    • 2014-11-28
    • 1970-01-01
    • 1970-01-01
    • 2014-01-26
    • 2011-03-14
    相关资源
    最近更新 更多