Я реализовал оболочку login_required для своих функций просмотра.Цель состоит в том, чтобы в случае недопустимого сеанса входа в систему / тайм-аута оболочка перенаправляла пользователя на страницу входа.Однако, когда мы отправляем запрос на публикацию с предварительным условием входа в систему, мы не можем перенаправить пользователя с истекшим сроком действия на страницу входа.Перенаправление вообще не работает, если мы не обновим страницу вручную.
def login_required(f):
@wraps(f)
def decorated(*args, **kwargs):
token = request.cookies.get('token')
if not token:
return make_response(redirect('/login'))
try:
data = jwt.decode(token, app.config['SECRET_KEY'], algorithms=['HS256'])
except:
return make_response(redirect('/login'))
return f(*args, **kwargs)
return decorated
Это закодированная мной оболочка.По сути, мы хотим отправить ответ перенаправления по истечении времени ожидания токена сеанса.
Хотя, код выполняется в правильном порядке, так или иначе браузер не отображает / не перенаправляет на нужный URL.