gpt4 book ai didi

python - 如何使用 Flask 和 flask_jwt_extended 进行自定义 JWT 验证?

转载 作者:太空宇宙 更新时间:2023-11-03 14:04:45 25 4
gpt4 key购买 nike

我想在调用@jwt_required 时向 token 添加额外的验证。我想验证其中一项声明。我可以用 JWTManager 做到这一点吗?

目前我的代码只调用:

jwt = JWTManager(app)

我用以下代码装饰函数:@jwt_required

最佳答案

在我的脑海中,我倾向于创建一个自定义装饰器来包装 jwt_required

这里有一个粗略的想法,来自 the functools.wraps documentation :

from functools import wraps
from flask_jwt_extended import jwt_required
from flask_jwt_extended.view_decorators import _decode_jwt_from_request
from flask_jwt_extended.exceptions import NoAuthorizationError

def custom_validator(view_function):
@wraps(view_function)
def wrapper(*args, **kwargs):
jwt_data = _decode_jwt_from_request(request_type='access')

# Do your custom validation here.
if (...):
authorized = True
else:
authorized = False

if not authorized:
raise NoAuthorizationError("Explanation goes here")

return view_function(*args, **kwargs)

return jwt_required(wrapper)

@app.route('/')
@custom_validator
def index():
return render_template('index.html')

Here是您可以找到 jwt_required 的源代码的地方。

关于python - 如何使用 Flask 和 flask_jwt_extended 进行自定义 JWT 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44955048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com