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

时间:2015-12-26 09:44:14

标签: django facebook social django-allauth google-login

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

另一方面,对谷歌和Facebook来说,没有这样的选择。因此,出于某种原因,默认情况下会记住用户。我找不到这个的原因,我怎么能修改它。

对于我应该考虑什么的任何建议都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

好吧,我已经自己想出来了。似乎Django的设置为SESSION_COOKIE_AGE,在设置中默认为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

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