flask_jwt_extended 生成token 验证token 写一个例子给我
时间: 2023-05-13 12:04:57 浏览: 282
flask 实现token机制的示例代码
好的,下面是一个使用 flask_jwt_extended 生成和验证 token 的例子:
```python
from flask import Flask
from flask_jwt_extended import JWTManager, jwt_required, create_access_token, get_jwt_identity
app = Flask(__name__)
app.config['JWT_SECRET_KEY'] = 'super-secret' # 设置 JWT 密钥
jwt = JWTManager(app)
@app.route('/login', methods=['POST'])
def login():
# 假设这里有一个验证用户身份的函数 verify_user(username, password)
username = request.form['username']
password = request.form['password']
if verify_user(username, password):
# 生成 token
access_token = create_access_token(identity=username)
return {'access_token': access_token}
else:
return {'error': 'Invalid username or password'}, 401
@app.route('/protected', methods=['GET'])
@jwt_required() # 需要验证 token
def protected():
# 获取 token 中的身份信息
current_user = get_jwt_identity()
return {'message': f'Hello, {current_user}!'}
if __name__ == '__main__':
app.run()
```
在这个例子中,我们使用 JWTManager 创建了一个 Flask 扩展,然后在登录时生成 token,保护某些路由时需要验证 token。注意,这里的 JWT 密钥应该是一个随机的、足够复杂的字符串,不要直接使用上面的示例中的 "super-secret"。
阅读全文