Commit a8cdb3b0 by 袁伟铭

修改-续期同时续期加密key

parent 80e3ad9e
...@@ -97,7 +97,7 @@ public class ApiService { ...@@ -97,7 +97,7 @@ public class ApiService {
} }
// 认证签名 // 认证签名
String key = redisUtils.getStr(token); String key = redisUtils.getStr("civil.apiKey." + token);
String sign = ApiUtils.getSign(form.getSignStr(key == null ? "" : key)); String sign = ApiUtils.getSign(form.getSignStr(key == null ? "" : key));
if (!sign.equals(form.getSign())) { if (!sign.equals(form.getSign())) {
return ApiUtils.getCheckSignValidError(form); return ApiUtils.getCheckSignValidError(form);
......
...@@ -20,5 +20,15 @@ public class CacheKeys extends BaseCacheKeys { ...@@ -20,5 +20,15 @@ public class CacheKeys extends BaseCacheKeys {
return AUTH_CODE + phone; return AUTH_CODE + phone;
} }
/**
* 构造加密key的缓存key
*
* @param token
* @return
*/
public static String apiKey(String token) {
return PREFIX + "apiKey." + token;
}
} }
...@@ -18,8 +18,10 @@ import cn.hutool.core.date.DateField; ...@@ -18,8 +18,10 @@ import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.zq.common.config.security.SecurityProperties; import cn.hutool.core.util.StrUtil;
import com.zq.common.config.redis.RedisUtils; import com.zq.common.config.redis.RedisUtils;
import com.zq.common.config.security.SecurityProperties;
import com.zq.system.config.CacheKeys;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts; import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm; import io.jsonwebtoken.SignatureAlgorithm;
...@@ -120,6 +122,11 @@ public class TokenProvider implements InitializingBean { ...@@ -120,6 +122,11 @@ public class TokenProvider implements InitializingBean {
if (differ <= properties.getDetect()) { if (differ <= properties.getDetect()) {
long renew = time + properties.getRenew(); long renew = time + properties.getRenew();
redisUtils.expire(properties.getOnlineKey() + token, renew, TimeUnit.MILLISECONDS); redisUtils.expire(properties.getOnlineKey() + token, renew, TimeUnit.MILLISECONDS);
String key = redisUtils.getStr(CacheKeys.apiKey(token));
if (StrUtil.isNotBlank(key)) {
redisUtils.expire(CacheKeys.apiKey(token), renew, TimeUnit.MILLISECONDS);
}
} }
} }
......
...@@ -13,6 +13,7 @@ import com.zq.common.exception.BusinessException; ...@@ -13,6 +13,7 @@ import com.zq.common.exception.BusinessException;
import com.zq.common.utils.AssertUtils; import com.zq.common.utils.AssertUtils;
import com.zq.common.vo.OnlineUserDto; import com.zq.common.vo.OnlineUserDto;
import com.zq.common.vo.ResultVo; import com.zq.common.vo.ResultVo;
import com.zq.system.config.CacheKeys;
import com.zq.system.config.RsaProperties; import com.zq.system.config.RsaProperties;
import com.zq.system.config.security.TokenProvider; import com.zq.system.config.security.TokenProvider;
import com.zq.system.modules.system.dao.BlindUserInfoDao; import com.zq.system.modules.system.dao.BlindUserInfoDao;
...@@ -166,7 +167,7 @@ public class SsoService { ...@@ -166,7 +167,7 @@ public class SsoService {
onlineUserService.save(jwtUserDto, token, request); onlineUserService.save(jwtUserDto, token, request);
String key = IdUtil.simpleUUID(); String key = IdUtil.simpleUUID();
redisUtils.setStr(token, key, properties.getTokenValidityInSeconds() / 1000, TimeUnit.SECONDS); redisUtils.setStr(CacheKeys.apiKey(token), key, properties.getTokenValidityInSeconds() / 1000, TimeUnit.SECONDS);
Map<String, Object> data = new HashMap<>(); Map<String, Object> data = new HashMap<>();
data.put("toUrl", toUrl + "?" + properties.getHeader() + "=" + token + "&key=" + key); data.put("toUrl", toUrl + "?" + properties.getHeader() + "=" + token + "&key=" + key);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment