스프링 시큐리티 CORS 등록 방법

greenTea·2023년 5월 7일
0

스프링 시큐리티에서 custom한 cors정책을 구현하려면 아래와 같은 코드를 작성하면 된다.


@Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
    
   ...생략...
   
   http.cors().configurationSource(corsConfigurationSource())
   
   ...생략...
    return http.build();
    }
    
@Bean
    public CorsConfigurationSource corsConfigurationSource() {
        CorsConfiguration config = new CorsConfiguration();
        config.setAllowCredentials(true);
        config.addAllowedHeader("*");
        config.addAllowedMethod("*");
        config.addAllowedOrigin("*");
        config.setMaxAge(3600L);
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/api/**",config);
        return source;

    }

먼저 customcorsSource를 만들어야 한다. 그러기 위해 CorsConfigurationSource 를 반환한는 빈을 생성하는데 Url로 정책을 구현하기 위해 UrlBasedCorsConfigurationSource를 이용한다.
그리고 cors정책을 구성하기 위한 CorsConfiguration을 만드는데 위 설정 파일은 모든 헤더, 모든 메소드, 모든 주소에 대하여 허용한다는 의미를 지니고 있다.
설정 구성이 끝나면 UrlBasedCorsConfigurationSource에 등록하는데 이 때 적용할 주소와 source를 같이 집어 넣어준다.
위 과정이 끝난 후 구현한 corsSourcehttpSecurtiy에 넣어준다.

출처 : 스프링 시큐리티 OAuth2 - Spring Boot 기반으로 개발하는 Spring Security OAuth2

profile
greenTea입니다.

0개의 댓글

관련 채용 정보