Dan*_*ats 5 python flask jwt flask-restful flask-jwt-extended
我正在尝试使用flask-jwt-extended为我的flask API创建API令牌。我正在尝试初始化token_in_blacklist_loader但无法找出正确的方法来做到这一点。
问题在于它token_in_blacklist_loader是作为装饰器实现的。它应该按以下方式使用:
@jwt.token_in_blacklist_loader
def check_if_token_in_blacklist(decrypted_token):
jti = decrypted_token['jti']
return jti in blacklist
Run Code Online (Sandbox Code Playgroud)
其中jwt定义为:
jwt = JWTManager(app)
Run Code Online (Sandbox Code Playgroud)
但是如果使用create_app模式,则jwt变量隐藏在函数中,不能在装饰器的全局范围内使用。
解决此问题/解决此问题的正确方法是什么?
我最终所做的是将处理程序放入其中,create_app如下所示:
def create_app(name: str, settings_override: dict = {}):
app = Flask(name, ...)
...
jwt = JWTManager(app)
@jwt.token_in_blacklist_loader
def check_token_in_blacklist(token_dict: dict) -> bool:
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2098 次 |
| 最近记录: |