双token刷新联调

main
topsun 2 years ago
parent 4896454164
commit 2203388b65

@ -24,6 +24,7 @@ public class InterceptorConfig implements WebMvcConfigurer {
.addPathPatterns("/**")//拦截的路径
.excludePathPatterns("/noauthTest")
.excludePathPatterns("/user")
.excludePathPatterns("/token-refresh")
.excludePathPatterns("/verification-code-check")
.excludePathPatterns("/verification-code");//不拦截的路径

@ -27,21 +27,8 @@ public class JwtInterceptor implements HandlerInterceptor {
boolean resultBoolean = true;
String resultStr = "";
String token = request.getHeader("Authorization");
//解析token
TokenResult tokenResult = JwtUtils.checkToken(token);
// try {
// //解析token
// tokenResult =JwtUtils.parseToken(token);
// } catch (SignatureException exception) {
// resultStr = "token sign error ";
// resultBoolean = false;
// }catch (TokenExpiredException ex){
// resultStr = "token time out";
// resultBoolean = false;
// }catch (Exception exception){
// resultBoolean = false;
// }
if(tokenResult == null){
resultStr = "token invalid ";
resultBoolean = false;
@ -57,14 +44,12 @@ public class JwtInterceptor implements HandlerInterceptor {
resultBoolean = false;
}
}
//
if(!resultBoolean){
PrintWriter outPrintWriter = response.getWriter();
JSONObject jsonObject = JSONObject.fromObject(ResponseResult.fail(resultStr));
outPrintWriter.print(jsonObject.toString());
}
return resultBoolean;
}
}

@ -41,7 +41,7 @@ public class VerificationCodeService {
//key,value,过期时间
String key = RedisPrefixUtils.getVerificationCodePrefixKey(passenegerPhone);
//存入redis
stringRedisTemplate.opsForValue().set(key, numberCode + "", 2, TimeUnit.MINUTES);
stringRedisTemplate.opsForValue().set(key, numberCode + "", 5, TimeUnit.MINUTES);
//通过短信服务商,将对应的验证码发送到手机上。阿里短信服务,腾讯短信通,容联

@ -22,25 +22,21 @@ public class JwtUtils {
private static final String JWT_TOKEN_TYPE = "tokenType";
private static final String JWT_TOKEN_TIME = "tokenTime";
//生成token
public static String generatorToken(String passengerPhone,String identity,String tokenType) {
Map<String, String> map = new HashMap<>();
map.put(JWT_KEY_PHONE,passengerPhone);
map.put(JWT_KEY_IDENTITY,identity);
map.put(JWT_TOKEN_TYPE,tokenType);
//token过期时间
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, 1);
// Date date = calendar.getTime();
map.put(JWT_TOKEN_TIME,Calendar.getInstance().getTime().toString());
JWTCreator.Builder builder = JWT.create();
map.forEach(
(k, v) -> {
builder.withClaim(k, v);
}
);
//整合过期时间
// builder.withExpiresAt(date);//token保持到redis已经设置有效期时间
//生成token
String sign = builder.sign(Algorithm.HMAC256(SIGN));
return sign;

Loading…
Cancel
Save