关闭浏览器时记得 Django allauth 社交登录

Django allauth social login remembered on closing the browser

我们可以选择通过 Google 或 Facebook 登录我们的服务。我们还提供创建本地帐户的选项。对于本地帐户,我们可以指定用户是否会被记住(即保持登录状态)。

另一方面,对于 Google 和 Facebook,没有这样的选择。因此,出于某种原因,默认情况下只会记住用户。我找不到原因,我该如何修改。

如有任何建议,我将不胜感激。

好的,我已经自己弄明白了。貌似Django有个设置SESSION_COOKIE_AGE,settings里默认是2周。详情在这里: https://docs.djangoproject.com/en/1.9/ref/settings/#std:setting-SESSION_COOKIE_AGE

此设置被本地帐户的 allauth 覆盖。如果用户选择被记住,则此设置等于 3 周。否则,到期时间设置为 0。来自 allauth 源代码:

request.session.set_expiry(0)

不过,对于社交帐户,allauth 不会改变任何内容。所以这个设置等于默认设置。

就我而言,我只是在 settings.py 中设置了一个设置,所以:

 ACCOUNT_SESSION_REMEMBER = True

强制记住使用本地帐户创建的所有会话。