Skip to content

Commit

Permalink
Merge pull request #53 from devocean-finut/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
plum-king authored Nov 14, 2024
2 parents 855b023 + 526d69a commit 5e5fe37
Showing 1 changed file with 25 additions and 7 deletions.
32 changes: 25 additions & 7 deletions src/main/java/com/finut/finut_server/config/SecurityConfig.java
Original file line number Diff line number Diff line change
@@ -1,15 +1,22 @@
package com.finut.finut_server.config;


import com.finut.finut_server.apiPayload.exception.handler.CustomOAuth2AuthenticationSuccessHandler;
import com.finut.finut_server.config.auth.CustomOAuth2UserService;
import com.finut.finut_server.domain.user.UsersRepository;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.oauth2.client.InMemoryOAuth2AuthorizedClientService;
import org.springframework.security.oauth2.client.OAuth2AuthorizedClientService;
import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository;
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
import org.springframework.security.web.SecurityFilterChain;

@Configuration
@@ -19,7 +26,8 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http, CustomOAuth2Us
http
.authorizeHttpRequests(authorizeRequests ->
authorizeRequests
.requestMatchers("/swagger", "/swagger-ui.html", "/swagger-ui/**", "/api-docs", "/api-docs/**", "/v3/api-docs/**").permitAll()
.requestMatchers("/swagger", "/swagger-ui.html", "/swagger-ui/**", "/api-docs", "/api-docs/**", "/v3/api-docs/**")
.permitAll()
.requestMatchers("/", "/login/**", "/h2-console/**").permitAll()
.anyRequest().authenticated()
)
@@ -30,19 +38,29 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http, CustomOAuth2Us
)
.defaultSuccessUrl("/success", true)
)
.formLogin(formLogin ->
formLogin
.defaultSuccessUrl("/success", true)
)
.logout(logout ->
logout
.logoutSuccessUrl("/") // μž„μ‹œ λ‘œκ·Έμ•„μ›ƒ 성곡 URL
.logoutSuccessUrl("/") // μž„μ‹œ
)
.csrf(AbstractHttpConfigurer::disable) // POST μš”μ²­μ„ μœ„ν•œ CSRF λΉ„ν™œμ„±ν™”
.csrf(AbstractHttpConfigurer::disable) // post μš”μ²­μ„ μœ„ν•œ csrf disable
.headers(headers -> headers.frameOptions(frameOptions -> frameOptions.sameOrigin()));

// 폼 λ‘œκ·ΈμΈμ„ μ™„μ „νžˆ λΉ„ν™œμ„±ν™”
http.formLogin(AbstractHttpConfigurer::disable);

return http.build();
}

@Bean
public UserDetailsService userDetailsService() {
UserDetails user = User.withDefaultPasswordEncoder()
.username("user")
.password("password")
.roles("USER")
.build();
return new InMemoryUserDetailsManager(user);
}

@Bean
public OAuth2AuthorizedClientService authorizedClientService(ClientRegistrationRepository clientRegistrationRepository) {
return new InMemoryOAuth2AuthorizedClientService(clientRegistrationRepository);

0 comments on commit 5e5fe37

Please sign in to comment.