我正在尝试调试我的应用程序,但调试器没有命中此代码块。这是我的自定义网关过滤器。
@RefreshScope
@Component
public class AuthorizationHeaderFilter extends
AbstractGatewayFilterFactory<AuthorizationHeaderFilter.Config> {
@Autowired
Environment environment;
public AuthorizationHeaderFilter () {
super(Config.class);
}
public static class Config {
}
@Override
public GatewayFilter apply(Config config) {
return ((exchange, chain) -> {
ServerHttpRequest request = exchange.getRequest();
if(!request.getHeaders().containsKey(HttpHeaders.AUTHORIZATION)) {
return onError(exchange, "No authorization header", HttpStatus.UNAUTHORIZED);
}
String token = Objects.requireNonNull(request.getHeaders().get(HttpHeaders.AUTHORIZATION))
.get(0).replace("Bearer","");
if(isJwtValid(token))
return onError(exchange, "JWT Token is not valid", HttpStatus.UNAUTHORIZED);
return chain.filter(exchange);
});
}
private Mono<Void> onError(ServerWebExchange exchange, String error, HttpStatus status) {
ServerHttpResponse response = exchange.getResponse();
response.setStatusCode(status); …Run Code Online (Sandbox Code Playgroud)