首页 > 解决方案 > 邮递员收到过期的 cookie:从不

问题描述

我使用 express 来创建这样的 cookie

res.cookie(user[0].email, token, {expire: new Date(Date.now()) + 1200, httpOnly: true})

当从服务器接收 cookie 以及在请求中发送 cookie 时,它​​工作正常。唯一的问题是,当我在邮递员中打开 cookie 选项卡时,它显示永远不会过期。 在此处输入图像描述

标签: node.jsexpresscookiespostman

解决方案


这里有几件事是错误的。

  • 您没有正确设置到期时间:该属性名为 expires.
  • 使用+运算符 onDate不会增加时间,它会转换为字符串并将数字连接到末尾,这不是您想要的。
  • 检查你的数学。JavaScript 日期单位通常是毫秒。您真的希望此 cookie 在设置后 1200毫秒(1.2 秒)后过期吗?

这将解决前两点:

res.cookie('abc@d.com', 'foo', { expires: new Date(Date.now() + 1200), httpOnly: true })

推荐阅读