본 캠프_71일차

졸용·2025년 6월 9일

TIL

목록 보기
72/144

✅ CORS란?

이 설정은 JWT 기반 인증 구조에서 프론트엔드(React 등)와 백엔드(Spring)가 다른 도메인/포트에 존재할 경우 기본적인 CORS 문제를 방지하기 위해 필요하다.

@Bean
public CorsConfigurationSource corsConfigurationSource() {

	// CORS 설정 객체 생성
	CorsConfiguration config = new CorsConfiguration();

	// 요청을 허용할 Origin (클라이언트 도메인 지정)
	// 예: 프론트엔드 개발 서버 주소 (React, Vue 등)
	config.setAllowedOrigins(List.of("http://localhost:3000"));  // React 등 프론트엔드 개발 서버

	// 허용할 HTTP 메서드 지정
	// 예: 클라이언트에서 보낼 수 있는 요청 메서드를 명시적으로 허용
	config.setAllowedMethods(List.of("GET", "POST", "PUT", "DELETE", "OPTIONS"));

	// 허용할 요청 헤더 지정 (예: Authorization, Content-Type 등)
	// "*"은 모든 헤더를 허용함을 의미
	config.setAllowedHeaders(List.of("*"));

	// 자격 증명 포함 허용 (예: 쿠키, Authorization 헤더 등)
	// true로 설정하면 클라이언트의 withCredentials: true 요청이 허용됨
	config.setAllowCredentials(true);  // 쿠키/인증정보 포함 허용 (프론트에서 withCredentials: true 필요)

	// CORS 설정을 특정 경로 패턴에 매핑
	// 여기서는 모든 경로 (/**)에 대해 위 설정을 적용함
	UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
	source.registerCorsConfiguration("/**", config);  // 모든 경로에 대해 CORS 설정 적용

	return source;
}
profile
꾸준한 공부만이 답이다

0개의 댓글