我的 Flask 会话有两个要求(我用它来在成功 SAML 登录后保留用户信息):
(1) 会话必须在 60 分钟后超时。 (2) 会话必须在浏览器关闭时终止
我知道我可以按如下方式实现会话超时:
session.permanent = True
app.permanent_session_lifetime = timedelta(minutes=5)
但是这样做也会导致会话不会在浏览器关闭时终止,因为我们将
session.permanent
设置为 True
。
有没有一种方法可以实现这两个条件,而不需要像 this 这样的“黑客”来检测 JavaScript 中的浏览器关闭事件?
感谢 @furas 明确表示这是浏览器处理 cookie 方式的基本限制。我不知道会话cookie 和永久cookie 之间的区别。我发现这篇文章有助于解释两者。我的应用程序的安全要求需要这两个条件,因此我将实现一个 JavaScript 解决方案。