背景
现在的项目使用了vue + flask的框架,后端flask用token来做验证,但是会面临一个token过期的问题,设置过长的token过期时间或者设置一个refresh token的时间来处理都不能满足我这个项目的需求,我们希望的是在token即将过期的时候前端发起一个刷新token的请求,后端签发一个新的token。
解决方案
后端:
在首次签发token的时候,给出token的死亡时间点以及需要刷新的刷新时间点,我这里使用的是时间戳,代码如下:
# 登录验证
if not request.form:
return ResponseUtil.response(isSuccess=False, message=MessageEnum.MISSING_FORM.value)
form = request.form.to_dict()
username = form.get('user')
password = form.get('password')
# 服务端与客户端时间偏差验证
check_time = int(form.get('checkTime'))
server_time = int(time.time())
if check_time > (server_time + server_client_time) or check_time < (server_time - server_client_time):
return ResponseUtil.response(isSuccess=False, message="服务器与客户