1.前言
在学习flask_jwt_extended插件的时候遇到许多问题,究其原因是因为版本问题,4.0以后的版本在语法上做了许多优化,而我是参考较低版本的flask_jwt_extended学习的,一开始不明白出问题的原因,所以参考了许许多多博友的思路和写法,发现并没有问题,后来想到去看官方的文档,发现了原因所在,以下是4.0版本的api变化对照,更加详细的变化请参考官方文档。
flask_jwt_extended4.0版本API的变化
2.flask_jwt_extended的常规使用
1. create_access_token()用来创建令牌
2. get_jwt_identity()用来根据令牌取得之前的identity信息
3. jwt_required()这是一个装饰器,用来保护flask节点(endpoint)
1 from flask_jwt_extended import create_access_token
2 from flask_jwt_extended import jwt_required
3 from flask_jwt_extended import get_jwt_identity
4 from flask_jwt_extended import JWTManager
5
6 from flask import Flask
7 from flask import jsonify
8 from datetime import timedelta
9
10 app = Flask(__name__)
11 jwt = JWTManager(app)
12
13 app.config[\'JWT_SECRET_KEY\'] = \'hello@#$%&\' # 加密盐值
14 app.config[\'JWT_ACCESS_TOKEN_EXPIRES\'] = timedelta(hours=1) # 设置token的有效时间,默认15分钟
15
16 @app.route(\'/login\',methods=[\'POST\'])
17 def login():
18 # 携带用户标识生成token
19 access_token = create_access_token(identity={\'id\': 1, \'username\': \'apple\'})
20 return jsonify(access_token=access_token)
21
22 @app.route(\'/index\',methods=[\'GET\'])
23 @jwt_required() # token认证,老版本不需要括号
24 def index():
25 # 获取认证标识中的信息
26 userInfo = get_jwt_identity()
27 return jsonify(userInfo)
28
29 if __name__ == \'__main__\':
30 app.run()
来源:https://www.cnblogs.com/Liu928011/p/15020581.html
图文来源于网络,如有侵权请联系删除。