gunicorn и flask-jwt-extended не получают текущего пользователя

Я строю приложение, которое использует колбу, flask_jwt_extended и декоратор @jwt_required вокруг защищенных функций, которым нужен токен доступа для доступа. С этих конечных точек я могу использовать flask_jwt_extended"s get_current_user функция для получения текущего пользователя.

Во время разработки это работало нормально, но теперь я планирую обслуживать производственное приложение, используя gunicorn, Тем не менее, когда я запускаю gunicorn сервер, похоже, get_current_user Функция всегда не возвращает ничего. Например, следующий код работает с python3 -m flask run, но не с gunicorn run:app -b localhost:5000, В чем может быть проблема здесь?

@jwt_required
def get_user_by_id(user_id: str) -> Dict[str, Any]:
    # returns user when using flask run, but not with gunicorn
    curr_user = get_current_user()

0 ответов

Класс-работник

Если вы попытаетесь использовать рабочий тип синхронизации и установить для потоков значение больше 1, вместо этого будет использован рабочий тип gthread.

  • В вашем файле конфигурации Python или вы можете изменить рабочий класс прямо в командной строке.

worker_class = 'gthread'

Проверьте свой JWT_SECRET_KEY

  • JWT_SECRET_KEY должны иметь одинаковую ценность для всех работников
Другие вопросы по тегам