Skip to content

Commit 8fae9fd

Browse files
committed
Merge remote-tracking branch 'origin/main'
# Conflicts: # src/main/java/kr/java/coditor/global/config/WebConfig.java
2 parents 6e64c41 + d6f9db1 commit 8fae9fd

3 files changed

Lines changed: 23 additions & 3 deletions

File tree

src/main/java/kr/java/coditor/domain/user/oauth2/OAuth2AuthenticationFailureHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public void onAuthenticationFailure(HttpServletRequest request, HttpServletRespo
2424
String encodedErrorMessage = URLEncoder.encode(errorMessage, StandardCharsets.UTF_8);
2525

2626
// 배포된 프론트엔드 로그인 페이지로 리다이렉트
27-
String targetUrl = UriComponentsBuilder.fromUriString("https://www.coditor.xyz")
27+
String targetUrl = UriComponentsBuilder.fromUriString("https://www.coditor.xyz/login")
2828
.queryParam("error", encodedErrorMessage)
2929
.build().toUriString();
3030

src/main/java/kr/java/coditor/domain/user/oauth2/OAuth2AuthenticationSuccessHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ public void onAuthenticationSuccess(HttpServletRequest request, HttpServletRespo
6060

6161
refreshTokenRepository.save(refreshToken);
6262

63-
// 배포된 프론트엔드 로그인 페이지로 리다이렉트
64-
String targetUrl = UriComponentsBuilder.fromUriString("https://www.coditor.xyz")
63+
// 배포된 프론트엔드 로그인 페이지로 리다이렉트 (경로 수정: /login 추가)
64+
String targetUrl = UriComponentsBuilder.fromUriString("https://www.coditor.xyz/login")
6565
.queryParam("accessToken", tokenResponseDto.getAccessToken())
6666
.queryParam("refreshToken", tokenResponseDto.getRefreshToken())
6767
.queryParam("nickname", user.getNickname())

src/main/java/kr/java/coditor/global/config/SecurityConfig.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@
1818
import org.springframework.security.crypto.password.PasswordEncoder;
1919
import org.springframework.security.web.SecurityFilterChain;
2020
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
21+
import org.springframework.web.cors.CorsConfiguration;
22+
import org.springframework.web.cors.CorsConfigurationSource;
23+
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
24+
25+
import java.util.Arrays;
26+
import java.util.List;
2127

2228
@Configuration
2329
@EnableWebSecurity
@@ -41,6 +47,7 @@ public PasswordEncoder passwordEncoder() {
4147
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
4248
http
4349
.csrf(AbstractHttpConfigurer::disable)
50+
.cors(cors -> cors.configurationSource(corsConfigurationSource())) // CORS 설정 추가
4451
.formLogin(AbstractHttpConfigurer::disable)
4552
.httpBasic(AbstractHttpConfigurer::disable)
4653
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
@@ -67,4 +74,17 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
6774

6875
return http.build();
6976
}
77+
78+
@Bean
79+
public CorsConfigurationSource corsConfigurationSource() {
80+
CorsConfiguration configuration = new CorsConfiguration();
81+
configuration.setAllowedOrigins(List.of("http://localhost:5173", "http://localhost:3000", "https://www.coditor.xyz"));
82+
configuration.setAllowedMethods(Arrays.asList("GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"));
83+
configuration.setAllowedHeaders(List.of("*"));
84+
configuration.setAllowCredentials(true);
85+
86+
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
87+
source.registerCorsConfiguration("/**", configuration);
88+
return source;
89+
}
7090
}

0 commit comments

Comments
 (0)