FeignConfig.java
package org.petify.shelter.config;
import feign.RequestInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken;
@Configuration
public class FeignConfig {
@Bean
public RequestInterceptor oauth2FeignRequestInterceptor() {
return template -> {
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
if (auth instanceof JwtAuthenticationToken jwtAuth) {
String token = jwtAuth.getToken().getTokenValue();
template.header("Authorization", "Bearer " + token);
}
};
}
}