node.js - 邮递员收到过期的 cookie:从不
问题描述
我使用 express 来创建这样的 cookie
res.cookie(user[0].email, token, {expire: new Date(Date.now()) + 1200, httpOnly: true})
当从服务器接收 cookie 以及在请求中发送 cookie 时,它工作正常。唯一的问题是,当我在邮递员中打开 cookie 选项卡时,它显示永远不会过期。
解决方案
这里有几件事是错误的。
- 您没有正确设置到期时间:该属性名为
expires
. - 使用
+
运算符 onDate
不会增加时间,它会转换为字符串并将数字连接到末尾,这不是您想要的。 - 检查你的数学。JavaScript 日期单位通常是毫秒。您真的希望此 cookie 在设置后 1200毫秒(1.2 秒)后过期吗?
这将解决前两点:
res.cookie('abc@d.com', 'foo', { expires: new Date(Date.now() + 1200), httpOnly: true })
推荐阅读
- node.js - fs.open 返回 3 而不是缓冲区
- ruby-on-rails - 嵌套表单 - 我无法将所有属性参数传递给我的强参数
- php - 为什么 UPDATE 准备语句上的 PDO::fetchAll() 会导致“无缓冲查询处于活动状态”异常?
- javascript - 在动态创建的 ID 上触发点击事件(ID 基于父元素)
- echarts - 如何将动态数据应用到echarts中的饼图上?
- laravel - 跟踪 302 重定向 (/app) 到应用商店的获取渠道
- python - 存在索引时 Pandas 数据框索引错误
- html - 如何在菜单中垂直居中登录按钮
- ionic-framework - 找不到模块'@angular-devkit/build-angular/src/webpack/utils/helpers'
- python-3.x - 使用 matplotlib 和 pandas 不显示绘图