django-allauth ACCOUNT_SESSION_REMEMBER=None 不起作用



我知道django-allauth设置ACCOUNT_SESSION_REMEBER应该按如下方式工作:

None:  optionally remember, depending on user input
True:  always remember
False: never remember

但是就我而言,当ACCOUNT_SESSION_REMEMBERNone,那么无论用户是否选择检查remember me,它都不起作用。

当将ACCOUNT_SESSION_REMEMBERTrueFalse一起使用时,它的工作原理如文档所示。

使用 django-allauth==0.51.0,我看到ACCOUNT_SESSION_REMEMBER = None按预期工作。

这是我所做的:

  1. 我在选中"记住我"的情况下登录。
  2. 我退出了Chrome浏览器。
  3. 我重新打开 Chrome 浏览器,并且处于登录页面。
  4. 注销并重新登录,未选中"记住我"。
  5. 我再次退出了Chrome浏览器。
  6. 我重新打开 Chrome 浏览器,但已注销。

我想关闭浏览器是强制注销所必需的。在allauth中,它设置set_expiry(0)remember == None

if remember:
request.session.set_expiry(app_settings.SESSION_COOKIE_AGE)
else:
request.session.set_expiry(0)

根据Django官方文件在这里set_expiry

  • 如果value为 0,则用户的会话 Cookie 将在用户的 Web 浏览器关闭时过期。

相关内容

  • 没有找到相关文章

最新更新