带标题的python jwt_required装饰器

时间:2018-03-12 07:23:37

标签: python http request jwt decorator

我正在尝试创建一个传递request.headers的自定义JWT_required装饰器。到目前为止,我所尝试的一切都给了我以下错误:

  

RuntimeError:在请求上下文之外工作。

     

这通常意味着您尝试使用该功能   需要一个活动的HTTP请求。请参阅测试文档   有关如何避免此问题的信息。

这是我的装饰者:

def jwt_required(headers):
def jwt_req(func):
    @functools.wraps(func)
    def function_that_runs_func(*args, **kwargs):
        print(headers)
        func(*args, **kwargs)
    return function_that_runs_func
return jwt_req

以下是我试图利用装饰器的方法:

class Cert(Resource):
@jwt_required(request.headers)
def get(self):

我明白错误在说什么;但是,我不确定如何绕过它。我希望将一个复制的字典传递给jwt装饰器,但这不起作用。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这是通过添加@jwt_required(请求)然后通过request.headers在装饰器中找到标题来解决的。