使用 Express.js 设置持久 cookie

spe*_*.sm 4 cookies node.js express

如何设置浏览器关闭时不删除的cookie?

您可以传递给该方法的显示选项参数的文档res.cookie,但我无法找到使 cookie 在关闭浏览器后仍然存在的配置。

res.cookie('name', 'spence', { expires: 0 });
Run Code Online (Sandbox Code Playgroud)

spe*_*.sm 5

expires将来只需将参数设置为某个值,cookie 就会持续存在。我对文档很感兴趣,因为我以为我想要的是一个“会话 cookie”,但正如其名称所暗示的,会话 cookie 仅在浏览器会话期间持续

虽然 cookie 不可能无限期地保留,但您实际上可以通过将 cookie 设置为在未来某个日期过期来完成相同的操作。

var farFuture = new Date(new Date().getTime() + (1000*60*60*24*365*10)); // ~10y
res.cookie('name', 'spence', { expires: farFuture });
Run Code Online (Sandbox Code Playgroud)