55import io .swagger .v3 .oas .models .info .Info ;
66import io .swagger .v3 .oas .models .security .SecurityRequirement ;
77import io .swagger .v3 .oas .models .security .SecurityScheme ;
8+ import java .util .Arrays ;
9+ import java .util .List ;
810import org .springframework .context .annotation .Bean ;
911import org .springframework .context .annotation .Configuration ;
12+ import org .springframework .web .cors .CorsConfiguration ;
13+ import org .springframework .web .cors .CorsConfigurationSource ;
14+ import org .springframework .web .cors .UrlBasedCorsConfigurationSource ;
1015
1116@ Configuration
1217public class SwaggerConfig {
@@ -32,4 +37,30 @@ public OpenAPI openAPI() {
3237 .addSecuritySchemes ("bearerAuth" , securityScheme ))
3338 .addSecurityItem (securityRequirement );
3439 }
40+
41+ @ Bean
42+ public CorsConfigurationSource corsConfigurationSource () {
43+ CorsConfiguration configuration = new CorsConfiguration ();
44+
45+ // 허용할 오리진(도메인) 설정
46+ configuration .setAllowedOrigins (List .of (
47+ "http://localhost:3000" ,
48+ "https://picke.store" ,
49+ "https://www.picke.store"
50+ ));
51+
52+ // 허용할 HTTP 메서드
53+ configuration .setAllowedMethods (Arrays .asList ("GET" , "POST" , "PUT" , "PATCH" , "DELETE" , "OPTIONS" ));
54+
55+ // 허용할 헤더
56+ configuration .setAllowedHeaders (List .of ("*" ));
57+
58+ // 자격 증명(쿠키, Authorization 헤더 등) 허용
59+ configuration .setAllowCredentials (true );
60+
61+ // 모든 경로(/**)에 대해 위 설정 적용
62+ UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource ();
63+ source .registerCorsConfiguration ("/**" , configuration );
64+ return source ;
65+ }
3566}
0 commit comments