comment—utils—request_auth.py
定义请求钩子函数:在请求进来之前得到request中携带的token,开始验证token
from flask import g,request
from comment.utils.tokens_pyjwt import verify_tokens
def jwt_request_auth():
'''
从请求(request)中获取token,并且验证token,验证成功之后把用户id保存到全局变量g中
'''
g.user_id=None #定义变量
#前端代码是是把token携带请求头中
#获取token
token=request.headers.get('token')
#判断是否有token
if token is not None:
#如果token存在,开始校验token
result=verify_tokens(token)
#校验通过后,result返回一个字典,字典包括id和exp
if 'id' in result:
#只要字典中包含id,表示校验成功
g.user_id=result['id']
注册token认证的请求钩子,每一次请求之前都会做token的认证
financial—__init__.py
from comment.utils.request_auth import jwt_request_auth
app.before_request(jwt_request_auth)