Django-allauth и проблема выхода из системы с Google

Я использую django-allauth специально и только для аутентификации Google. Я сталкиваюсь с несколькими странными проблемами:

  • Выйдите из браузера Chrome, и при следующем входе пользователь будет запомнен. Пользователь никогда не перенаправляется на вход в Google.

    .
  • Выход из браузера Safari и пользователь НЕ запоминается при следующем входе, поэтому при следующей попытке входа он перенаправляется на вход Google.

Желаемый результат заключается в том, чтобы всегда заставлять пользователей проходить полный процесс входа в систему. Они должны быть направлены в Google для получения электронной почты и пароля. Это позволит пользователям совместно использовать компьютер и переключаться между учетными записями.

Я экспериментировал с несколькими настройками конфигурации, но безуспешно. Вот текущие конфигурации:

ACCOUNT_SIGNUP_PASSWORD_ENTER_TWICE = True
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'

ACCOUNT_AUTHENTICATED_LOGIN_REDIRECTS = True
LOGIN_REDIRECT_URL = '/stores/store_list'

ACCOUNT_LOGOUT_REDIRECT_URL = 'home'

ACCOUNT_SESSION_REMEMBER = False
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SESSION_COOKIE_AGE = 60


SOCIALACCOUNT_PROVIDERS = {
    'google': {
        'SCOPE': [
            'profile',
            'email',
        ],
        'AUTH_PARAMS': {
            'access_type': 'offline',
            'AUTH_PARAMS': {'auth_type': 'reauthenticate'},
        }
    }
}

Является ли это чем-то ожидаемым и напрямую связанным с сессией? Нужно ли удалять сессию при каждом выходе из системы? Я протестировал, вручную удалив данные сессии пользователя из базы данных, что дало правильные результаты. Но я не уверен, что это правильный подход, и если да, то как его применить.

Заранее спасибо.

Я смог найти ответ в документации:

Здесь вы можете передать необязательный параметр process, который указывает, как обработать социальный вход. Вы можете выбрать между login и connect:

<a href="{% provider_login_url "twitter" process="connect" %}">Connect a Twitter account</a>

Кроме того, вы можете передать параметр действия со значением reauthenticate, чтобы указать, что вы хотите, чтобы пользователю был повторно предложено пройти аутентификацию, даже если он уже вошел в систему. На данный момент это поддерживается только Facebook, Google и Twitter.

Итак, HREF для входа в систему будет выглядеть следующим образом.

<a href="{% provider_login_url "google" action="reauthenticate" %}">Sign in Google account</a>

Вот документация, которую я нашел по PyPi

https://pypi.org/project/django-allauth/0.16.1/

Вернуться на верх