에러해결
[에러해결] Swagger Failed to load remote configuration, security 설정 이슈
양쏘쏘
2024. 7. 2. 17:30
728x90
반응형
1. 문제 상황
Swagger를 먼저 설정해준 후에 spring security를 설정하려고하는 과정에서 아래와 같은 에러가 발생했다.
개발자 화면에서 확인하면 생각보다 간단한 문제이다.
spring security 설정으로 인해서 /v3/api-docs/ 하위에 접근을 못하게 되면서 swagger의 기본 설정 정보를 못 가져 온 것이다.
2. 해결방법
Spring Security에서 설정에 /v3/api-docs/**를 추가하면 해결된다.
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http.csrf(AbstractHttpConfigurer::disable)
.authorizeHttpRequests(auth -> auth
.requestMatchers("/", "/swagger-ui/**","/v3/api-docs/**").permitAll()
.anyRequest().authenticated()
);
return http.build();
}
권한을 주는 경로가 많다면 이렇게 리팩토링해도 괜찮을 것 같다.
private static final String[] ALLOW_PATTERNS = {
"/",
"/swagger-ui/**",
"/v3/api-docs/**"
};
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http.csrf(AbstractHttpConfigurer::disable)
.authorizeHttpRequests(auth -> auth
.requestMatchers(ALLOW_PATTERNS).permitAll()
.anyRequest().authenticated()
);
return http.build();
}
728x90