智慧并不产生于学历,而是来自对于知识的终生不懈的追求。这篇文章主要讲述使用flask-jwt-extended回调与flask-restful和create_app相关的知识,希望能为你提供帮助。
我正在尝试使用flask-jwt-extended为我的烧瓶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
^ from the docs here
【使用flask-jwt-extended回调与flask-restful和create_app】其中
jwt
定义为:jwt = JWTManager(app)
但是如果使用
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:
...
另一答案将
JWTManager
放在另一个文件中,并使用jwt.init_app
函数初始化它作为示例,请参阅:
https://github.com/vimalloc/flask-jwt-extended/blob/master/examples/database_blacklist/extensions.py
和
https://github.com/vimalloc/flask-jwt-extended/blob/master/examples/database_blacklist/app.py
推荐阅读
- Swift - 从AppDelegate向View Controller添加子视图
- 将Angular App发布为facebook Instant Article
- Apple ITunes AppStore客户评论rss端点无法正常工作
- 如何测试和修复电子邮件欺骗/缺少SPF记录漏洞()
- 9个WordPress扫描程序来查找安全漏洞
- 如何在几分钟内找到域的子域()
- 如何在Python应用程序中查找安全漏洞()
- 如何测试DNS安全风险并修复以避免被黑客入侵()
- 8个Drupal安全扫描程序来查找漏洞