You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

localhost环境下JWT Cookie仅请求后显示的异常问题

本地HTTPS服务器JWT Cookie显示异常问题

我在本地运行带有自签名证书的Node.js HTTPS服务器,登录时后端通过以下代码设置JWT Cookie:

var token = jwt.sign(
  {
    id: user.id,
  },
  process.env.API_SECRET,
  {
    expiresIn: "10 days",
  }
);

// 返回登录成功信息及JWT Cookie
res.cookie("jwt", token, {
  httpOnly: true,
  secure: true,
  sameSite: "None",
  maxAge: 24 * 60 * 60 * 1000,
  domain: "localhost",
});
res.status(200).send({
  message: "Login successfull",
});

异常现象

  • 登录页面地址为http://127.0.0.1:5500/src/html/login.html,登录后Chrome开发者工具的「应用」面板能看到该Cookie,但刷新页面后Cookie消失。
  • 从另一页面http://127.0.0.1:5500/src/html/work-list.html发起任意请求(即使是未添加credentials:include的GET请求),Cookie又会重新显示在开发者工具中。
  • 尝试修改domain参数、添加path:"/"参数,问题依旧存在。

特殊情况

即使开发者工具面板中看不到Cookie,我仍可通过携带credentials:include的POST请求正常完成JWT验证:

fetch("https://localhost:8000/wiki", {
  credentials: "include",
  method: "POST",
  body: CreateFormData(),
})

后端对应路由代码:

app.post("/wiki", verifyToken, upload.array("files"), CheckFiles); // 创建req.files数组

我不确定这是否属于正常现象,已搜索两天未找到解决方案。


内容的提问来源于stack exchange,提问作者Elias Jovancic Persson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 04:50:34