0

我一直在构建一个使用烧瓶的应用程序,以及需要访问令牌才能访问的受保护函数周围flask_jwt_extended的装饰器。@jwt_required从这些端点,我可以使用flask_jwt_extended'sget_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()
4

1 回答 1

1

班工

如果您尝试使用同步工作器类型并将线程设置设置为大于 1,则将使用 gthread 工作器类型。

  • 在您的 python 配置文件中,或者您可以直接在命令行中更改 worker-class。

worker_class = 'gthread'

检查您的 JWT_SECRET_KEY

  • JWT_SECRET_KEY需要在每个工人身上都有相同的价值
于 2019-05-05T13:40:25.307 回答