Я использую API аутентификации с использованием JWT, и он отлично работает. Этот API используется для авторизации пользователей в моем веб-приложении. Чтобы это работало, я сохраняю JWT access_tokens как cookie вручную с помощью Flask. Я защищаю свой ресурс с помощью декоратора @JWT_required, и если я попытаюсь получить доступ к защищенному ресурсу с действующим токеном, все будет работать нормально. Однако, если токен доступа отсутствует или недействителен / истек, я получаю сообщение JSON:
{
"message": "Missing cookie \"access_token_cookie\""
}
Это, очевидно, правильное сообщение, но вместо этого отображается JSON, который я хочу перенаправить на соответствующую страницу ошибки кода состояния, предоставляемую Flask - в данном случае 401.
- Я пробовал добавить обработку ошибок для Flask и JWT Manager.
- Пользовательский декоратор, хотя я плохо играл с ним, так как считаю, что должно быть решение в FLASK-JWT-extended.
@app.route('/dashbord')
@jwt_required
def dashbord():
return render_template('dashbord.html', title='Home')
Моя цель - перенаправить на соответствующую страницу ошибки 404, 403, 401, если что-то не так с токеном доступа.
РЕШЕНИЕ:
@jwt.unauthorized_loader
def my_invalid_token_callback(expired_token):
return render_template('401.html', title='Home')