发布于: 2023-7-6最后更新: 2023-7-25字数 00 分钟

 
Flask JWT Extended是一个Flask扩展,用于实现JSON Web Token(JWT)的认证和授权。JWT是一种用于跨网络进行身份验证和授权的开放标准。它由三部分组成:头部、载荷和签名。
Flask JWT Extended提供了一组易于使用的工具,使您可以在Flask应用程序中快速使用JWT。它支持刷新令牌,约旦提取和黑名单等功能,并支持多种身份验证方案,包括HTTP基本身份验证、OAuth和OpenID Connect等。
使用Flask JWT Extended时,您需要设置一些配置选项,如密钥、令牌过期时间、刷新令牌过期时间和请求头名称。然后,您可以使用装饰器来保护您的视图函数,并使用JWT来进行身份验证和授权。
工作流程:
notion image
notion image
  • 基本用法,登录token、jwt_requirered认证。
  • 官方文档的自动用户加载。
第二点的实现过程,碰到数据库的问题。(官方给的例子省略掉数据库的部分)。数据库部分参考:快速入门
基本测试代码
 
安装注意:
根据官网安装说明,如果要使用非对称加密解密(RSA。一般都会用的)。
要使用:$ pip install flask-jwt-extended[asymmetric_crypto]
否则使用时会出现:Algorithm not supported。

Flask Swagger
Flask Swagger

Swagger是一个开源的API文档工具,它允许开发人员描述、编写和测试API。Flasgger是一个Flask扩展,可从您的API中所有已注册的Flask视图中提取OpenAPI-Specification(以下简称"spec")。Flasgger还集成SwaggerUI,因此您可以访问http://localhost:5000/apidocs并可视化并与您的API资源进行交互。Flask-restx是根据flask-restplus发展而来,前者已经不维护无法使用。类似于Marshmallow APISpec的风格。定义一些Schema叫做Model,和OpenAPI描述的definition类似。然后定义资源的概念,围绕资源添加CURD的接口,然后自动生成相应的Restful API文档。


Flask Prometheus Metrics
Flask Prometheus Metrics

flask_prometheus_metrics是一个用于将Prometheus监控指标集成到Flask Web应用程序中的工具库。使用register_metrics函数将自定义指标注册到应用程序中,可以方便地对应用程序的性能进行监控和优化。除了自定义指标外,flask_prometheus_metrics还提供了一些默认指标,例如请求数、HTTP方法数、请求处理时间、HTTP请求大小和HTTP响应大小等。