Browse Source

🎉 gateway加密token校验

pull/1/head
smallchill 1 year ago
parent
commit
3f1652f447
  1. 9
      blade-gateway/src/main/java/org/springblade/gateway/filter/AuthFilter.java

9
blade-gateway/src/main/java/org/springblade/gateway/filter/AuthFilter.java

@ -22,9 +22,11 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import io.jsonwebtoken.Claims;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.jwt.JwtCrypto;
import org.springblade.core.jwt.JwtUtil;
import org.springblade.core.jwt.props.JwtProperties;
import org.springblade.core.launch.constant.TokenConstant;
import org.springblade.core.launch.props.BladeProperties;
import org.springblade.gateway.props.AuthProperties;
import org.springblade.gateway.provider.AuthProvider;
import org.springblade.gateway.provider.RequestProvider;
@ -43,6 +45,8 @@ import reactor.core.publisher.Mono;
import java.nio.charset.StandardCharsets;
import static org.springblade.core.jwt.JwtCrypto.BLADE_CRYPTO_AES_KEY;
/**
* 鉴权认证
*
@ -55,6 +59,7 @@ public class AuthFilter implements GlobalFilter, Ordered {
private final AuthProperties authProperties;
private final ObjectMapper objectMapper;
private final JwtProperties jwtProperties;
private final BladeProperties bladeProperties;
private final AntPathMatcher antPathMatcher = new AntPathMatcher();
@Override
@ -74,6 +79,10 @@ public class AuthFilter implements GlobalFilter, Ordered {
}
String auth = StringUtils.isBlank(headerToken) ? paramToken : headerToken;
String token = JwtUtil.getToken(auth);
//校验 加密Token 合法性
if (JwtUtil.isCrypto(auth)) {
token = JwtCrypto.decryptToString(token, bladeProperties.getEnvironment().getProperty(BLADE_CRYPTO_AES_KEY));
}
Claims claims = JwtUtil.parseJWT(token);
if (token == null || claims == null) {
return unAuth(resp, "请求未授权");

Loading…
Cancel
Save