22
33import static org .springframework .security .config .Customizer .*;
44
5+ import java .util .List ;
6+
57import org .springframework .context .annotation .Bean ;
68import org .springframework .context .annotation .Configuration ;
79import org .springframework .context .annotation .Profile ;
810import org .springframework .security .config .annotation .web .builders .HttpSecurity ;
911import org .springframework .security .config .annotation .web .configuration .EnableWebSecurity ;
1012import org .springframework .security .config .annotation .web .configurers .AbstractHttpConfigurer ;
1113import org .springframework .security .web .SecurityFilterChain ;
14+ import org .springframework .web .cors .CorsConfiguration ;
15+ import org .springframework .web .cors .CorsConfigurationSource ;
16+ import org .springframework .web .cors .UrlBasedCorsConfigurationSource ;
1217
1318import lombok .RequiredArgsConstructor ;
1419
@@ -23,7 +28,7 @@ public class SecurityConfig {
2328 public SecurityFilterChain filterChain (HttpSecurity http ) throws Exception {
2429 return http
2530 .csrf (csrf -> csrf .disable ())
26- .cors (cors -> cors .disable ( ))
31+ .cors (cors -> cors .configurationSource ( corsConfigurationSource () ))
2732 .authorizeHttpRequests (auth -> auth
2833 .requestMatchers (
2934 "/api/auth/guest" ,
@@ -51,4 +56,17 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
5156 .logout (withDefaults ())
5257 .build ();
5358 }
59+
60+ @ Bean
61+ public CorsConfigurationSource corsConfigurationSource () {
62+ CorsConfiguration configuration = new CorsConfiguration ();
63+ configuration .setAllowCredentials (true );
64+ configuration .setAllowedOriginPatterns (List .of ("*" ));
65+ configuration .setAllowedMethods (List .of ("GET" , "POST" , "PUT" , "DELETE" , "OPTIONS" ));
66+ configuration .setAllowedHeaders (List .of ("*" ));
67+
68+ UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource ();
69+ source .registerCorsConfiguration ("/**" , configuration );
70+ return source ;
71+ }
5472}
0 commit comments