From 157de885f6e12a4d9c7c21e31b1de1a99f6804e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=A2=85?= Date: Thu, 26 Sep 2024 18:30:10 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=BF=A0=ED=82=A4=20=EB=B2=94=EC=9A=A9?= =?UTF-8?q?=20=EC=B2=98=EB=A6=AC=20(#603)=20(#604)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../site/coduo/member/controller/AuthController.java | 8 ++++++-- .../coduo/member/controller/GithubOAuthController.java | 2 +- .../coduo/member/service/dto/auth/SignInCookie.java | 10 ++++------ backend/src/main/resources/application-prod.yml | 2 +- backend/src/main/resources/application-test.yml | 2 +- 5 files changed, 13 insertions(+), 11 deletions(-) diff --git a/backend/src/main/java/site/coduo/member/controller/AuthController.java b/backend/src/main/java/site/coduo/member/controller/AuthController.java index e85d1861..ac938719 100644 --- a/backend/src/main/java/site/coduo/member/controller/AuthController.java +++ b/backend/src/main/java/site/coduo/member/controller/AuthController.java @@ -5,6 +5,7 @@ import java.net.URI; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseCookie; @@ -33,12 +34,15 @@ public class AuthController implements AuthControllerDocs { private final AuthService authService; private final MemberService memberService; + @Value("${front.url}") + private String frontUrl; + @GetMapping("/sign-out") public ResponseEntity signOut(@CookieValue(name = SIGN_IN_COOKIE_NAME) final String signInToken) { final SignInCookie cookie = new SignInCookie(signInToken); return ResponseEntity.ok() - .header(HttpHeaders.SET_COOKIE, cookie.expire().toString()) + .header(HttpHeaders.SET_COOKIE, cookie.expire(frontUrl).toString()) .build(); } @@ -58,7 +62,7 @@ public ResponseEntity signInCallback( @SessionAttribute(name = ACCESS_TOKEN_SESSION_NAME) final String accessToken ) { final SignInServiceResponse serviceResponse = authService.createSignInToken(accessToken); - final ResponseCookie cookie = new SignInCookie(serviceResponse.token()).generate(); + final ResponseCookie cookie = new SignInCookie(serviceResponse.token()).generate(frontUrl); return ResponseEntity.ok() .header(HttpHeaders.SET_COOKIE, cookie.toString()) diff --git a/backend/src/main/java/site/coduo/member/controller/GithubOAuthController.java b/backend/src/main/java/site/coduo/member/controller/GithubOAuthController.java index 27f7556b..07fe9a15 100644 --- a/backend/src/main/java/site/coduo/member/controller/GithubOAuthController.java +++ b/backend/src/main/java/site/coduo/member/controller/GithubOAuthController.java @@ -56,7 +56,7 @@ public ResponseEntity getAccessToken(@ModelAttribute final GithubCallbackQ session.setMaxInactiveInterval(ACCESS_TOKEN_EXPIRE_IN_SECOND); return ResponseEntity.status(HttpStatus.FOUND) - .location(URI.create(frontUrl + "/callback")) + .location(URI.create("https://" + frontUrl + "/callback")) .build(); } } diff --git a/backend/src/main/java/site/coduo/member/service/dto/auth/SignInCookie.java b/backend/src/main/java/site/coduo/member/service/dto/auth/SignInCookie.java index 2957499e..8d66d3fc 100644 --- a/backend/src/main/java/site/coduo/member/service/dto/auth/SignInCookie.java +++ b/backend/src/main/java/site/coduo/member/service/dto/auth/SignInCookie.java @@ -8,22 +8,20 @@ public record SignInCookie(String credential) { - private static final String SERVICE_DOMAIN_NAME = "coduo.site"; - - public ResponseCookie generate() { + public ResponseCookie generate(final String domain) { return ResponseCookie.from(SIGN_IN_COOKIE_NAME) .value(credential) .httpOnly(true) .secure(true) - .domain(SERVICE_DOMAIN_NAME) + .domain(domain) .path("/") .build(); } - public ResponseCookie expire() { + public ResponseCookie expire(final String domain) { return ResponseCookie.from(SIGN_IN_COOKIE_NAME) .maxAge(Duration.ZERO) - .domain(SERVICE_DOMAIN_NAME) + .domain(domain) .path("/") .build(); } diff --git a/backend/src/main/resources/application-prod.yml b/backend/src/main/resources/application-prod.yml index 70960f16..0c8eac42 100644 --- a/backend/src/main/resources/application-prod.yml +++ b/backend/src/main/resources/application-prod.yml @@ -40,7 +40,7 @@ oauth: redirect-uri: ${CLIENT_REDIRECT_URI} front: - url: https://coduo.site + url: coduo.site jwt: sign-key: ${JWT_KEY} diff --git a/backend/src/main/resources/application-test.yml b/backend/src/main/resources/application-test.yml index 917675db..125257a1 100644 --- a/backend/src/main/resources/application-test.yml +++ b/backend/src/main/resources/application-test.yml @@ -41,7 +41,7 @@ oauth: redirect-uri: ${CLIENT_REDIRECT_URI} front: - url: https://test.coduo.site + url: test.coduo.site jwt: sign-key: ${JWT_KEY}