针对本身token过期的问题处理

This commit is contained in:
2024-06-07 13:54:50 +08:00
parent 759467c383
commit f348972126
2 changed files with 19 additions and 17 deletions

View File

@@ -100,16 +100,32 @@ public class LoginFilter implements Filter {
}
String message = "";
String tokenKey="";
JSONObject jsonObject1 = TokenUtil.parseParamFromToken(token);
if (jsonObject1.containsKey("status")){
String openId = request.getHeader("openId");
String userId = request.getHeader("id");
redisUtil.deleteByKey(RedisCst.ONLINE_USER.concat(openId));
redisUtil.deleteByKey(RedisCst.ONLINE_USER.concat(userId));
redisUtil.deleteByKey(RedisCst.ONLINE_APP_USER.concat(userId));
Result result = new Result(CodeEnum.TOKEN_EXPIRED);
String jsonString = JSONObject.toJSONString(result);
JSONObject jsonObject = JSONObject.parseObject(jsonString, JSONObject.class);
response.getWriter().print(jsonObject);
response.getWriter().flush();//流里边的缓存刷出
return;
}
if(environment.equals("app")){
//获取当前登录人的用户id
String userId = TokenUtil.parseParamFromToken(token).getString("userId");
String userId = jsonObject1.getString("userId");
tokenKey=RedisCst.ONLINE_APP_USER.concat(userId);
//获取redis中的token
}else if(environment.equals("wx")){
//获取当前登录人的用户id
String openId = TokenUtil.parseParamFromToken(token).getString("openId");
String openId = jsonObject1.getString("openId");
if(StringUtils.isBlank(openId)){
openId = TokenUtil.parseParamFromToken(token).getString("userId");
openId = jsonObject1.getString("userId");
}
tokenKey=RedisCst.ONLINE_USER.concat(openId);
}
@@ -131,15 +147,6 @@ public class LoginFilter implements Filter {
response.getWriter().flush();//流里边的缓存刷出
return;
}
JSONObject jsonObject1 = TokenUtil.parseParamFromToken(token);
if (jsonObject1.containsKey("status")){
Result result = new Result(CodeEnum.TOKEN_EXPIRED);
String jsonString = JSONObject.toJSONString(result);
JSONObject jsonObject = JSONObject.parseObject(jsonString, JSONObject.class);
response.getWriter().print(jsonObject);
response.getWriter().flush();//流里边的缓存刷出
return;
}
checkRenewal(tokenKey);
chain.doFilter(req, resp);
}