pull/60/head
diaobisong 2 years ago
parent caa18ac599
commit dbfce1e531

@ -1,11 +1,8 @@
package com.java3y.austin.web.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Set;
@Data
@Component
public class JwtConfig {

@ -7,8 +7,6 @@ import com.java3y.austin.web.utils.JwtUtil;
import io.jsonwebtoken.Claims;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
import org.springframework.web.servlet.HandlerInterceptor;
@ -17,29 +15,27 @@ import javax.servlet.http.HttpServletResponse;
@Slf4j
@Component
public class TokenInterceptor implements HandlerInterceptor {
@Autowired
private JwtConfig jwtConfig;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
if("OPTIONS".equalsIgnoreCase(request.getMethod())) {
if ("OPTIONS".equalsIgnoreCase(request.getMethod())) {
return true;
}
if(request.getRequestURI().startsWith("/actuator") || request.getRequestURI().startsWith("/swagger") || request.getRequestURI().startsWith("/v3/api-docs") || request.getRequestURI().startsWith("/user/login")) {
if (request.getRequestURI().startsWith("/actuator") || request.getRequestURI().startsWith("/swagger") || request.getRequestURI().startsWith("/v3/api-docs") || request.getRequestURI().startsWith("/user/login")) {
return true;
}
String jwtToken = request.getHeader("Authorization");
String jwtToken = StringUtils.defaultIfEmpty(request.getHeader("Authorization"), request.getHeader("authorization"));
if (ObjectUtils.isEmpty(jwtToken)) {
throw new RuntimeException("need token");
}
if (jwtToken.startsWith("Bearer")) {
jwtToken = jwtToken.substring("Bearer".length() + 1);
}
Claims claims = JwtUtil.decodeAndVerify(jwtToken, jwtConfig.getKey());
Claims claims = JwtUtil.decodeAndVerify(jwtToken, new JwtConfig().getKey());
String subject = claims.getSubject();
String creator = StringUtils.defaultIfEmpty(JSON.parseObject(subject).getString("creator"), JSON.parseObject(subject).getString("userId"));

Loading…
Cancel
Save