如果 cookie 设置了该secure标志,它只会由浏览器通过 https 发送到服务器,而不是普通的 http。这应该是生产环境的默认设置。
但是,在开发应用程序时,您可能会在开发机器上使用普通的 http。如果您secure在这种情况下设置会话 cookie (使用普通 http),服务器将永远不会收到它,并且您将在每次请求时遇到一个新的空会话。
所以简而言之,您应该只像secure使用 https一样设置 cookie (也就是说,在开发管道的后期阶段,绝对是在生产中)。
另一方面,如果您设置maxAge,cookie 将被持久化,这不是会话 cookie 的最佳实践。如果没有maxAge,cookie 将一直保留到用户关闭浏览器,并且通常不会持久保存到磁盘,这是会话 cookie 的正确行为。
https://stackoverflow.com/questions/40324121/express-session-secure-true/40324493
Chrome 计划将Lax变为默认设置。这时,网站可以选择显式关闭SameSite属性,将其设为None。不过,前提是必须同时设置Secure属性(Cookie 只能通过 HTTPS 协议发送),否则无效。
https://www.ruanyifeng.com/blog/2019/09/cookie-samesite.html