addCorsMappings란 cors 정책을 설정할 수 있는 부분이다.
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**") // 모든 URL 허용
.allowedOrigins("www.example.com") // 특정 URL에서만 요청을 허용
.allowedMethods("GET", "POST", "PUT") // 특정 메서드만 허용
.allowedHeaders("*") // 모든 헤더 값을 허용
.maxAge(24 * 60 * 60) // CORS 정책이 유효한 시간은 24 * 60 * 60 (초)
;
}
}
다음과 같이 구현해주면 cors를 설정할 수 있다. 여기서 maxAge()
는 한번 인증된 header는 지정된 시간만큼 재인증하지 않고 계속해서 같은 header를 사용할 수 있어 오버헤드를 줄일 수 있다.