From 0dc24d9b75ad8f874f0544165bfe7f23ce3f0282 Mon Sep 17 00:00:00 2001 From: Kosw6 Date: Tue, 9 Dec 2025 01:31:49 +0900 Subject: [PATCH 1/4] edit DataSources,Oauth2 --- .../auth/config/OAuth2SuccessHandler.java | 20 ++++++++++++++++--- .../common/auth/config/SecurityConfig.java | 11 ++++++++-- .../config/PrimaryDataSourceConfig.java | 1 + .../common/config/StockDataSourceConfig.java | 2 ++ 4 files changed, 29 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/org/sejongisc/backend/common/auth/config/OAuth2SuccessHandler.java b/backend/src/main/java/org/sejongisc/backend/common/auth/config/OAuth2SuccessHandler.java index 348599f4..1c097384 100644 --- a/backend/src/main/java/org/sejongisc/backend/common/auth/config/OAuth2SuccessHandler.java +++ b/backend/src/main/java/org/sejongisc/backend/common/auth/config/OAuth2SuccessHandler.java @@ -101,11 +101,25 @@ public void onAuthenticationSuccess( // 5. RefreshToken 저장(DB or Redis) refreshTokenService.saveOrUpdateToken(user.getUserId(), refreshToken); - boolean isProd = Arrays.asList(env.getActiveProfiles()).contains("prod"); + String[] activeProfiles = env.getActiveProfiles(); + boolean isProd = Arrays.asList(activeProfiles).contains("prod"); + boolean isDev = Arrays.asList(activeProfiles).contains("dev"); + + // SameSite, Secure 설정 String sameSite = isProd ? "None" : "Lax"; - boolean secure = isProd; - String domain = isProd ? "sisc-web.duckdns.org" : "localhost"; + boolean secure = isProd; + + // 도메인 설정 + String domain; + if (isProd) { + domain = "sjusisc"; // 🔥 운영 도메인 + } else if (isDev) { + domain = "sisc-web.duckdns.org"; // 🔥 개발 도메인 + } else { + domain = "localhost"; // 🔥 기본값 + } + diff --git a/backend/src/main/java/org/sejongisc/backend/common/auth/config/SecurityConfig.java b/backend/src/main/java/org/sejongisc/backend/common/auth/config/SecurityConfig.java index d2ee6a32..55713220 100644 --- a/backend/src/main/java/org/sejongisc/backend/common/auth/config/SecurityConfig.java +++ b/backend/src/main/java/org/sejongisc/backend/common/auth/config/SecurityConfig.java @@ -44,6 +44,9 @@ public class SecurityConfig { private boolean isProd() { return List.of(env.getActiveProfiles()).contains("prod"); } + private boolean isDev() { + return List.of(env.getActiveProfiles()).contains("dev"); + } @Bean public AuthorizationRequestRepository authorizationRequestRepository() { @@ -72,8 +75,11 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti .successHandler(oAuth2SuccessHandler) .failureHandler((req, res, ex) -> { if (isProd()) { + res.sendRedirect("https://sjusisc/oauth/fail"); + }else if(isDev()){ res.sendRedirect("https://sisc-web.duckdns.org/oauth/fail"); - } else { + } + else { res.sendRedirect("http://localhost:5173/oauth/fail"); } }) @@ -121,7 +127,8 @@ public CorsConfigurationSource corsConfigurationSource() { CorsConfiguration config = new CorsConfiguration(); config.setAllowedOriginPatterns(List.of( "http://localhost:5173", - "https://sisc-web.duckdns.org" + "https://sisc-web.duckdns.org", + "https://sjusisc.com" )); config.setAllowedMethods(List.of("GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS")); config.setAllowedHeaders(List.of("*")); diff --git a/backend/src/main/java/org/sejongisc/backend/common/config/PrimaryDataSourceConfig.java b/backend/src/main/java/org/sejongisc/backend/common/config/PrimaryDataSourceConfig.java index 0a954cb6..2d0fbf72 100644 --- a/backend/src/main/java/org/sejongisc/backend/common/config/PrimaryDataSourceConfig.java +++ b/backend/src/main/java/org/sejongisc/backend/common/config/PrimaryDataSourceConfig.java @@ -21,6 +21,7 @@ @Configuration @EnableTransactionManagement +@Profile("dev") @EnableJpaRepositories( basePackages = "org.sejongisc.backend", entityManagerFactoryRef = "primaryEntityManagerFactory", diff --git a/backend/src/main/java/org/sejongisc/backend/common/config/StockDataSourceConfig.java b/backend/src/main/java/org/sejongisc/backend/common/config/StockDataSourceConfig.java index d617dfe4..552b4d81 100644 --- a/backend/src/main/java/org/sejongisc/backend/common/config/StockDataSourceConfig.java +++ b/backend/src/main/java/org/sejongisc/backend/common/config/StockDataSourceConfig.java @@ -7,6 +7,7 @@ import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.orm.jpa.JpaTransactionManager; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; @@ -21,6 +22,7 @@ @Configuration @EnableTransactionManagement +@Profile("dev") @EnableJpaRepositories( basePackages = "org.sejongisc.backend.stock.repository", entityManagerFactoryRef = "stockEntityManagerFactory", From 573210e4985a349ecb258005e7792ddaa2cb328a Mon Sep 17 00:00:00 2001 From: Kosw6 Date: Tue, 9 Dec 2025 01:38:20 +0900 Subject: [PATCH 2/4] edit DataSources,Oauth2 --- .../auth/config/OAuth2SuccessHandler.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/backend/src/main/java/org/sejongisc/backend/common/auth/config/OAuth2SuccessHandler.java b/backend/src/main/java/org/sejongisc/backend/common/auth/config/OAuth2SuccessHandler.java index 1c097384..5935c9ce 100644 --- a/backend/src/main/java/org/sejongisc/backend/common/auth/config/OAuth2SuccessHandler.java +++ b/backend/src/main/java/org/sejongisc/backend/common/auth/config/OAuth2SuccessHandler.java @@ -29,6 +29,7 @@ import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.util.Arrays; +import java.util.List; import java.util.Map; import java.util.UUID; @@ -102,22 +103,23 @@ public void onAuthenticationSuccess( refreshTokenService.saveOrUpdateToken(user.getUserId(), refreshToken); String[] activeProfiles = env.getActiveProfiles(); + List profiles = Arrays.asList(activeProfiles); - boolean isProd = Arrays.asList(activeProfiles).contains("prod"); - boolean isDev = Arrays.asList(activeProfiles).contains("dev"); + boolean isProd = profiles.contains("prod"); + boolean isDev = profiles.contains("dev"); - // SameSite, Secure 설정 - String sameSite = isProd ? "None" : "Lax"; - boolean secure = isProd; +// SameSite, Secure 설정 (dev도 prod와 동일하게) + String sameSite = (isProd || isDev) ? "None" : "Lax"; + boolean secure = (isProd || isDev); - // 도메인 설정 +// 도메인 설정 String domain; if (isProd) { - domain = "sjusisc"; // 🔥 운영 도메인 + domain = "sjusisc"; // 운영 도메인 } else if (isDev) { - domain = "sisc-web.duckdns.org"; // 🔥 개발 도메인 + domain = "sisc-web.duckdns.org"; // 개발 도메인 } else { - domain = "localhost"; // 🔥 기본값 + domain = "localhost"; // 기본값 } From 2192cdb64100c9734e858092b62321a7e8b21ad9 Mon Sep 17 00:00:00 2001 From: Kosw6 Date: Tue, 9 Dec 2025 01:39:41 +0900 Subject: [PATCH 3/4] [BE] edit DataSources,Oauth2 --- .../backend/common/auth/config/OAuth2SuccessHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/org/sejongisc/backend/common/auth/config/OAuth2SuccessHandler.java b/backend/src/main/java/org/sejongisc/backend/common/auth/config/OAuth2SuccessHandler.java index 5935c9ce..85b2cea3 100644 --- a/backend/src/main/java/org/sejongisc/backend/common/auth/config/OAuth2SuccessHandler.java +++ b/backend/src/main/java/org/sejongisc/backend/common/auth/config/OAuth2SuccessHandler.java @@ -115,7 +115,7 @@ public void onAuthenticationSuccess( // 도메인 설정 String domain; if (isProd) { - domain = "sjusisc"; // 운영 도메인 + domain = "sjusisc.com"; // 운영 도메인 } else if (isDev) { domain = "sisc-web.duckdns.org"; // 개발 도메인 } else { From 5da7b9e8cea52dc5deedc031f0791cd91ff24260 Mon Sep 17 00:00:00 2001 From: Kosw6 Date: Tue, 9 Dec 2025 01:41:26 +0900 Subject: [PATCH 4/4] [BE] edit DataSources,Oauth2 --- .../sejongisc/backend/common/auth/config/SecurityConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/org/sejongisc/backend/common/auth/config/SecurityConfig.java b/backend/src/main/java/org/sejongisc/backend/common/auth/config/SecurityConfig.java index 55713220..fb311ce7 100644 --- a/backend/src/main/java/org/sejongisc/backend/common/auth/config/SecurityConfig.java +++ b/backend/src/main/java/org/sejongisc/backend/common/auth/config/SecurityConfig.java @@ -75,7 +75,7 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti .successHandler(oAuth2SuccessHandler) .failureHandler((req, res, ex) -> { if (isProd()) { - res.sendRedirect("https://sjusisc/oauth/fail"); + res.sendRedirect("https://sjusisc.com/oauth/fail"); }else if(isDev()){ res.sendRedirect("https://sisc-web.duckdns.org/oauth/fail"); }