diff --git a/src/main/java/kz/konturai/configuration/security/SecurityConfig.java b/src/main/java/kz/konturai/configuration/security/SecurityConfig.java index 67d3ca6..4488551 100644 --- a/src/main/java/kz/konturai/configuration/security/SecurityConfig.java +++ b/src/main/java/kz/konturai/configuration/security/SecurityConfig.java @@ -9,11 +9,10 @@ import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.AuthenticationEntryPoint; +import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.access.AccessDeniedHandler; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; -import org.springframework.web.cors.CorsConfigurationSource; @Configuration @EnableMethodSecurity @@ -23,7 +22,6 @@ public class SecurityConfig { public SecurityConfig(JwtAuthenticationFilter jwtAuthenticationFilter) { this.jwtAuthenticationFilter = jwtAuthenticationFilter; - } @Bean @@ -33,22 +31,26 @@ public class SecurityConfig { response.setContentType("application/json"); response.getWriter().write("{\"message\":\"Unauthorized\"}"); }; + AccessDeniedHandler accessDeniedHandler = (request, response, ex) -> { response.setStatus(403); response.setContentType("application/json"); response.getWriter().write("{\"message\":\"Forbidden\"}"); }; + http .csrf(csrf -> csrf.disable()) .sessionManagement(sm -> sm.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) .authorizeHttpRequests(auth -> auth .requestMatchers(org.springframework.http.HttpMethod.OPTIONS, "/**").permitAll() .requestMatchers("/api/auth/**").permitAll() + .requestMatchers("/api/facebook/webhook").permitAll() .anyRequest().authenticated()) .exceptionHandling(ex -> ex .authenticationEntryPoint(entryPoint) .accessDeniedHandler(accessDeniedHandler)) .addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class); + return http.build(); } @@ -61,4 +63,4 @@ public class SecurityConfig { public AuthenticationManager authenticationManager(AuthenticationConfiguration configuration) throws Exception { return configuration.getAuthenticationManager(); } -} +} \ No newline at end of file