django-allauth ACCOUNT_SESSION_REMEMBER= Ни один не работает
Я знаю django-allauth
установка ACCOUNT_SESSION_REMEBER
должен работать следующим образом:
None: optionally remember, depending on user input
True: always remember
False: never remember
Но в моем случае, когда ACCOUNT_SESSION_REMEMBER
с None
, тогда независимо от того, выбирает ли пользователь проверить remember me
или нет, это не работает.
Когда используешь ACCOUNT_SESSION_REMEMBER
с True
или же False
, тогда это работает как задокументировано.
1 ответ
С django-allauth==0.51.0 я вижуACCOUNT_SESSION_REMEMBER = None
работает как положено.
Вот что я сделал:
- Я захожу с галочкой "запомнить меня".
- Я выхожу из браузера Chrome.
- Я снова открываю браузер Chrome и нахожусь на странице входа в систему.
- Я выхожу из системы и снова вхожу с отключенной галочкой «запомнить меня».
- Я снова выхожу из браузера Chrome.
- Я снова открываю браузер 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 сеанса пользователя истекает при закрытии веб-браузера пользователя.