token验证 python flask
时间: 2023-06-28 13:09:08 浏览: 88
在 Flask 中实现 token 验证可以通过以下步骤:
1. 安装需要的依赖,例如 PyJWT。
2. 在 Flask 中创建一个装饰器函数,用于检查请求头中是否包含 token。
```python
from functools import wraps
import jwt
from flask import request, jsonify
def token_required(f):
@wraps(f)
def decorated(*args, **kwargs):
token = None
if 'Authorization' in request.headers:
token = request.headers['Authorization']
if not token:
return jsonify({'message': 'Token is missing!'}), 401
try:
data = jwt.decode(token, app.config['SECRET_KEY'])
except:
return jsonify({'message': 'Token is invalid!'}), 401
return f(*args, **kwargs)
return decorated
```
3. 在需要进行 token 验证的路由上使用刚刚定义的装饰器。
```python
@app.route('/protected')
@token_required
def protected():
return jsonify({'message': 'This is a protected endpoint!'})
```
以上代码中,`token_required` 装饰器函数会检查请求头中是否包含 Authorization 字段,如果没有,则返回 401 错误;如果有,则尝试解析 token,如果解析失败则返回 401 错误。如果验证通过,则继续执行路由函数。
阅读全文