话不多说,上代码
from flask import request, jsonify from functools import wraps class TokenRequired: @classmethod def token_required(cls, f): @wraps(f) def decorated_function(*args, **kwargs): # 获取请求头部中的key字段 # 也可以定义多个,这里仅定义了一个key try : key=request.headers.get('key') if not key: return jsonify({'message': 'Key缺失!'}), 401 hf=HFCryptogramLibrary()#自定义的加密方法 #解密Key key=hf.Decode(key) if not key.startswith("自定义的Key格式"): return jsonify({'message': 'Key格式有误!'}), 401 # 这里可以实现你自己的key格式转换,这里模拟转换日期 date_object = datetime.strptime(key, "%Y%m%d").date() current_date = date.today() if current_date > date_object: return jsonify({'message': 'Key已过期'}), 401 # 验证通过,执行被装饰函数 return f(*args, **kwargs) except Exception as err: return jsonify({'success':False,'message': f'{err}'}),200 return decorated_function
接口的验证使用
from flask import Flask, request, jsonify from ToKenRequired import TokenRequired #ToKenRequired可以自定义类名 @app.route('/api/data, methods=['POST']) @TokenRequired.token_required#这里调用token def Data(): text='' response = returnTrue(text) return jsonify(response)
如有不足,还请各位大佬多多指教
标签:return,Key,Python,jsonify,Flask,ToKen,key,date,import From: https://www.cnblogs.com/HoFei/p/17665167.html