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 ответов
Класс-работник
- Используете ли вы несколько рабочих и
sync
учебный класс? Может быть, попытаться посмотреть на оружейный рабочий класс
Если вы попытаетесь использовать рабочий тип синхронизации и установить для потоков значение больше 1, вместо этого будет использован рабочий тип gthread.
- В вашем файле конфигурации Python или вы можете изменить рабочий класс прямо в командной строке.
worker_class = 'gthread'
Проверьте свой JWT_SECRET_KEY
JWT_SECRET_KEY
должны иметь одинаковую ценность для всех работников