@Radist_101

Как принудительно сделать logout в flask?

Доброго времени суток! Как принудительно сделать logout для пользователя в flask если этот же пользователь авторизуется через другое устройство? Используется библиотека flask-login, также есть версия с flask-httpauth
  • Вопрос задан
  • 774 просмотра
Решения вопроса 1
@pcdesign
Может засунуть в before_request как-то так?

@app.before_request
def before_request():
    user_id = session.get('user_id', None)
    # Дальше проверяем, есть ли у user_id  другие открытые сессии.
    # Если сессия есть, то 
    # session.clear()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Radist_101 Автор вопроса
В настройках flask-login нашел такой параметр session_protection, это атрибут экземпляра LoginManager.
login_manager = LoginManager()
login_manager.session_protection = 'strong'

При session_protection == 'strong' сеанс будет завершаться принудительно если клиент будет пытаться авторизоваться с разных браузеров и разных IP. Но я пробую авторизоваться с компьютера и с телефона, авторизация проходит без проблем
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы