javascript - NodeJS Cookie错误的过期日期
问题描述
这是我用来将 Set-Cookie 发送回客户端的代码段
let cookieAttributes = {
httpOnly: true,
secure: true,
};
if (rememberme)
cookieAttributes.expires = new Date(Date.now() + 60 * 60 * 24 * 14)
res.cookie("token", token, cookieAttributes);
res.status(200).send();
console.log(res);
即使很难,我也将 cookieAttributes 设置为在 60 * 60 * 24 * 14(14 天)内过期,查看控制台中的响应和浏览器中的 cookie,我发现 cookie 将在大约 10 分钟后过期:
'set-cookie': [ 'Set-Cookie', 'token=*redacted*; Path=/; Expires=Mon, 10 Aug 2020 17:16:18 GMT; HttpOnly; Secure' ]
是的,rememberme设置为 true,如果我使用 maxAge 而不是 expires,我也会遇到同样的问题
解决方案
表达式 60 * 60 * 24 * 14 以秒为单位,您应该将其转换为毫秒。只需将其乘以 1000。
cookieAttributes.expires = new Date(Date.now() + 60 * 60 * 24 * 14 * 1000)
推荐阅读
- vb.net - 数据网格不显示表格内容
- python - 使用递归生成组合并跳过或删除项目
- actionscript-3 - AS3 如何根据用户用鼠标画线的位置找到贝塞尔曲线的控制点
- javascript - 角度对象破坏中的Datatable js并且没有发生数据刷新
- java - 如何使用 XMLHttpRequest 从 Java 服务器接收压缩的 JSON 数据
- react-redux - Redux-Saga 不运行
- c# - 为 ASP.NET Core / EF Core / xUnit.NET 集成测试中的每个测试播种测试数据
- android - 如何在列表视图和滚动视图的末尾关闭波浪动画
- git - Git 是否会在克隆上带来未提交的更改?
- python-3.x - 更优化的解决方案