flask 定义一个自动的鉴权机制 每次调用接口的时候 都获取前端body数据中的token字段 如果不合法提前返回了 跳过接口方法
时间: 2025-06-28 20:13:22 浏览: 13
在 Flask 中创建一个自动化的鉴权机制,可以在每次请求接口时检查传入的数据中的 `token` 字段是否有效。你可以通过编写中间件或是使用装饰器来实现这一点。
以下是使用装饰器的方式来进行验证的一个示例:
```python
from functools import wraps
from flask import request, jsonify
def token_required(f):
@wraps(f)
def decorated(*args, **kwargs):
# 获取到请求体中 JSON 数据里的 'token'
data = request.get_json()
if not data or "token" not in data:
return jsonify({'message': 'Token is missing'}), 401
user_token = data["token"]
# 这里可以加入实际的令牌校验逻辑,
# 校验成功则允许继续访问受保护路由;失败就返回错误信息并阻止进一步处理。
if verify_user_token(user_token):
pass # Token valid; proceed to the route function.
else:
return jsonify({"message": "Invalid Token"}), 403
return f(*args, **kwargs)
return decorated
# 示例性的令牌检验函数(需要根据实际情况替换为真实的验证过程)
def verify_user_token(token):
correct_tokens = ["correct-token-string"]
return token in correct_tokens
@app.route('/api/protected')
@token_required
def protected_route():
# 假设这里的业务逻辑只会在拥有合法 tokens 的用户尝试访问此 URL 时才会被执行...
response_data = {"result": "This content is only visible with a proper authentication"}
return jsonify(response_data)
```
在这个例子中,我们定义了一个名为 `token_required` 的装饰器,在该装饰器内部实现了对 HTTP 请求负载 (Body) 内部提供的 `token` 参数的基本检测,并将它传递给假想出来的用于真实性确认的帮助方法 `verify_user_token()` 。如果一切正常,则会放行让请求到达最终的目标视图 (`protected_route`) ,反之则直接中断流程并且发送相应状态码及消息告诉客户端存在问题。
--
阅读全文
相关推荐




















