每次请求刷新token的时间
项目为springboot+vue前后端分离式操作者在header携带token对后台进行请求,token有效期为30分钟。现需要实现:30分钟内操作者每次操作都将重新计时。完全使用localStorage解决该问题。在前端请求拦截器(request)配置// request拦截器service.interceptors.request.use(config => {if(localStor
·
项目为springboot+vue前后端分离式
操作者在header携带token对后台进行请求,token有效期为30分钟。现需要实现:30分钟内操作者每次操作都将重新计时。
完全使用localStorage解决该问题。
在前端请求拦截器(request)配置
// request拦截器
service.interceptors.request.use(config => {
if(localStorage.getItem('token')!==null) {
//刷新token时间
axios({
url: 'http://8.140.22.207:8086/userInfo/refreshToken',
headers: {
'Content-Type': 'application/json;charset=utf-8',
'Authorization':'Firstly ' + localStorage.getItem('token')
},
method: 'get',
}).then(function(res){
localStorage.setItem('token',res.data.msg);
});
}
config.headers['Authorization'] = 'Firstly ' + localStorage.getItem('token')
return config
},
error => {
// console.log(error)
return Promise.reject(error)
}
)
后台编写refreshToken(),即刷新token的方法。
整体来说就是先刷新再请求。
/* 刷新token*/
@RequestMapping("/refreshToken")
public AjaxResult refreshToken(HttpServletResponse response) {
String token=response.getHeader("token");
return AjaxResult.success(jwt.refreshToken(token));
}
更多推荐
已为社区贡献2条内容
所有评论(0)