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работает как положено.

Вот что я сделал:

  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 сеанса пользователя истекает при закрытии веб-браузера пользователя.
Другие вопросы по тегам