РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
430 of 643 menu

Функция confirm_login

Функция confirm_login применяется к объекту LoginManager из расширения Flask-Login. Она подтверждает вход текущего пользователя, помечая сессию как свежую и продлевая время её жизни. Функция не принимает параметров и возвращает None. Обычно она вызывается внутри представления, например в обработчике формы входа, когда пользователь только что прошёл аутентификацию.

В отличие от функции login_user, которая непосредственно выполняет вход пользователя, confirm_login лишь обновляет уже существующую сессию, делая её свежей и сбрасывая таймер её истечения. Это полезно, например, при повторной аутентификации без выхода из системы.

Синтаксис

login_manager.confirm_login()

Пример

Давайте создадим приложение Flask с Flask-Login и вызовем confirm_login после успешной проверки пароля:

from flask import Flask, request from flask_login import LoginManager, UserMixin, login_user, confirm_login app = Flask(__name__) app.secret_key = 'secret' login_manager = LoginManager(app) class User(UserMixin): def __init__(self, id): self.id = id @login_manager.user_loader def load_user(user_id): return User(user_id) @app.route('/login', methods=['POST']) def login(): user = User('abcde') login_user(user) confirm_login() return 'logged in'

Результат выполнения кода после отправки POST-запроса:

"logged in"

Пример

Давайте рассмотрим сценарий повторной аутентификации, когда пользователь уже вошёл в систему, но срок сессии подходит к концу. Вызов confirm_login продлит сессию:

from flask import Flask from flask_login import LoginManager, UserMixin, login_user, confirm_login app = Flask(__name__) app.secret_key = 'secret' login_manager = LoginManager(app) class User(UserMixin): def __init__(self, id): self.id = id @login_manager.user_loader def load_user(user_id): return User(user_id) @app.route('/reauth') def reauth(): user = User('user') login_user(user) confirm_login() return 'session confirmed'

Результат выполнения кода для адреса /reauth:

"session confirmed"

Смотрите также

  • функцию login_user,
    которая выполняет вход пользователя в систему
  • функцию logout_user,
    которая выполняет выход пользователя из системы
  • функцию login_fresh,
    которая проверяет, является ли сессия свежей
  • атрибут session_protection,
    который управляет защитой сессии
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить