jwt的token过期刷新,过期时间

1:这种方式为在线刷新,比方说设定的token有效期为30min,那么每次访问资源时,都会在拦截器中去判断一下

token是否过期,如果没有过期就刷新token的时间为30min,反之则会重新登录,需要注意的是这种方式我是在登

录以后就将token存在了redis.

//登录方法中将token存在redis

String token =JwtUtil.sign(userName,user.getId());

redisUtil.set(UserConstants.PREFIX_USER_TOKEN +token, token,UserConstants.TOKEN_EXPIRE_TIME);

Map map=newHashMap();

map.put(“token”, token);returnResult.success(map);

//在拦截器中获取token,并判断token的有效期

String token=req.getHeader(UserConstants.ACCESS_TOKEN);if(Strings.isNullOrEmpty(token)) {return false;

}

Object reqToken=redisUtil.get(UserConstants.PREFIX_USER_TOKEN+token);if(ObjectUtils.isEmpty(reqToken)) {return false;

}if(redisUtil.getExpire(UserConstants.PREFIX_USER_TOKEN+token) <1){return false;

}

redisUtil.set(UserConstants.PREFIX_USER_TOKEN +token, token,UserConstants.TOKEN_EXPIRE_TIME);return true;

你可能感兴趣的:(java,spring,boot)