Python gunicorn和flask jwt扩展未获取当前用户

Python gunicorn和flask jwt扩展未获取当前用户,python,flask,gunicorn,flask-jwt-extended,Python,Flask,Gunicorn,Flask Jwt Extended,我一直在构建一个应用程序,它使用flask、flask\u jwt\u extended和decorator@jwt\u required来处理需要访问令牌的受保护函数。从这些端点,我可以使用flask\u jwt\u extended的get\u current\u user函数获取当前用户 这在开发过程中一直运行良好,但现在我计划使用gunicorn为生产应用程序提供服务。但是,当我运行gunicorn服务器时,似乎get\u current\u user函数总是不返回任何值。例如,以下代码

我一直在构建一个应用程序,它使用flask、
flask\u jwt\u extended
和decorator
@jwt\u required
来处理需要访问令牌的受保护函数。从这些端点,我可以使用
flask\u jwt\u extended
get\u current\u user
函数获取当前用户

这在开发过程中一直运行良好,但现在我计划使用
gunicorn
为生产应用程序提供服务。但是,当我运行
gunicorn
服务器时,似乎
get\u current\u 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()
班主任
  • 您是否使用多个worker和
    sync
    class? 也许试着看看
如果尝试使用sync worker类型并将threads设置设置为大于1,则将改用gthread worker类型

  • 或者您可以直接在命令行中更改worker类
辅助线程类='gthread'

检查您的JWT\u密钥
  • JWT\u SECRET\u KEY
    需要在每个worker上具有相同的值