验证在自定义Flask装饰器中调用时,\u request()中的\u jwt\u是否返回None

2024-06-17 13:03:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个自定义装饰器,它使用flask-jwt-extended库中的verify_jwt_in_request()。我的代码如下所示:

@app.route("/test-auth", methods=["POST"])
@custom_auth_required
def test_auth():
    print(verify_jwt_in_request())
    print(get_jwt_identity())
    return Response(json.dumps({"test": "test"}), status=HTTP_200_OK, 
                    mimetype='application/json')


def custom_auth_required(f):
@wraps(f)
def decorated(*args, **kwargs):
    params = request.json
    headers = request.headers
    print(verify_jwt_in_request())
    print(get_jwt_identity())
    try:
        if verify_jwt_in_request():
            print("validated")
        else:
            print("invalid")
        return f(*args, **kwargs)
    except KeyError:
        raise AuthError({"code": "something","description": "something else"}, 401)
return decorated

出于某种原因,我在API和装饰程序中的打印都返回了verify_jwt_in_requestget_jwt_identityNone

我的代码中是否缺少某些内容


Tags: 代码intestauthjsongetreturnrequest