From 10fee0004137ec88a0b64a25881735bb592b0059 Mon Sep 17 00:00:00 2001 From: chanrhan Date: Sun, 23 Nov 2025 21:14:04 +0900 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20base-url=20yml=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EB=B0=9B=EC=95=84=EC=98=A4=EB=8F=84=EB=A1=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/dto/response/JwtResponse.java | 7 ------- .../domain/user/controller/UserController.java | 8 ++------ .../domain/user/service/UserService.java | 17 ++++++++++++----- src/main/resources/application-dev.yml | 3 +++ .../resources/application-local-example.yml | 3 +++ 5 files changed, 20 insertions(+), 18 deletions(-) delete mode 100644 src/main/java/kr/kro/photoliner/common/dto/response/JwtResponse.java diff --git a/src/main/java/kr/kro/photoliner/common/dto/response/JwtResponse.java b/src/main/java/kr/kro/photoliner/common/dto/response/JwtResponse.java deleted file mode 100644 index da49bd6..0000000 --- a/src/main/java/kr/kro/photoliner/common/dto/response/JwtResponse.java +++ /dev/null @@ -1,7 +0,0 @@ -package kr.kro.photoliner.common.dto.response; - -public record JwtResponse( - String accessToken -) { - -} diff --git a/src/main/java/kr/kro/photoliner/domain/user/controller/UserController.java b/src/main/java/kr/kro/photoliner/domain/user/controller/UserController.java index 4ac50dc..2a18dfc 100644 --- a/src/main/java/kr/kro/photoliner/domain/user/controller/UserController.java +++ b/src/main/java/kr/kro/photoliner/domain/user/controller/UserController.java @@ -1,7 +1,6 @@ package kr.kro.photoliner.domain.user.controller; import java.net.URI; -import kr.kro.photoliner.common.dto.response.JwtResponse; import kr.kro.photoliner.domain.user.dto.response.UserInfoResponse; import kr.kro.photoliner.domain.user.service.UserService; import kr.kro.photoliner.global.auth.Auth; @@ -21,13 +20,10 @@ public class UserController { private final UserService userService; private final KakaoAuthService kakaoAuthService; - private static final String LOGIN_REDIRECT_URL = "http://localhost:5173/login/kakao"; @GetMapping("/login/kakao") - public ResponseEntity login(@RequestParam(value = "code") String authorizationCode) { - JwtResponse jwtResponse = userService.oAuthLogin(authorizationCode); - - String redirectUrl = LOGIN_REDIRECT_URL + "#accessToken=" + jwtResponse.accessToken(); + public ResponseEntity login(@RequestParam(value = "code") String authorizationCode) { + String redirectUrl = userService.oAuthLogin(authorizationCode); return ResponseEntity .status(HttpStatus.FOUND) diff --git a/src/main/java/kr/kro/photoliner/domain/user/service/UserService.java b/src/main/java/kr/kro/photoliner/domain/user/service/UserService.java index 68b8b10..b652b12 100644 --- a/src/main/java/kr/kro/photoliner/domain/user/service/UserService.java +++ b/src/main/java/kr/kro/photoliner/domain/user/service/UserService.java @@ -1,6 +1,5 @@ package kr.kro.photoliner.domain.user.service; -import kr.kro.photoliner.common.dto.response.JwtResponse; import kr.kro.photoliner.domain.user.dto.response.UserInfoResponse; import kr.kro.photoliner.domain.user.model.User; import kr.kro.photoliner.domain.user.repository.UserRepository; @@ -11,6 +10,7 @@ import kr.kro.photoliner.global.kakao.login.dto.response.KakaoProfileResponse; import kr.kro.photoliner.global.kakao.login.service.KakaoAuthService; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @Service @@ -20,21 +20,28 @@ public class UserService { private final KakaoAuthService kakaoAuthService; private final JwtProvider jwtProvider; + @Value("${application.base-url}") + public String baseUrl; + + private static final String LOGIN_REDIRECT_URL = "/login/kakao"; + public UserInfoResponse getUserInfo(Long userId) { User user = userRepository.findUserById(userId) .orElseThrow(() -> CustomException.of(ApiResponseCode.NOT_FOUND_USER, "user id: " + userId)); return UserInfoResponse.from(user); } - public JwtResponse oAuthLogin(String authorizationCode) { + public String oAuthLogin(String authorizationCode) { KakaoOauthTokenResponse tokenResponse = kakaoAuthService.getTokenByAuthorizationCode(authorizationCode); - String accessToken = tokenResponse.accessToken(); - KakaoProfileResponse profileResponse = kakaoAuthService.getKakaoUserProfile(accessToken); + String kakaoAccessToken = tokenResponse.accessToken(); + KakaoProfileResponse profileResponse = kakaoAuthService.getKakaoUserProfile(kakaoAccessToken); User user = userRepository.findUserByEmail(profileResponse.kakaoAccount().email()) .orElseGet(() -> signup(User.from(profileResponse))); - return new JwtResponse(jwtProvider.createAccessToken(user)); + String accessToken = jwtProvider.createAccessToken(user); + + return baseUrl + LOGIN_REDIRECT_URL + "#accessToken=" + accessToken; } private User signup(User user) { diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 00b665f..935be4f 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -42,3 +42,6 @@ jwt: secret-key: ${SECRET_KEY} access-token: expiration-time: ${EXPIRATION_TIME} + +application: + base-url: ${BASE_URL} diff --git a/src/main/resources/application-local-example.yml b/src/main/resources/application-local-example.yml index 7928171..1464193 100644 --- a/src/main/resources/application-local-example.yml +++ b/src/main/resources/application-local-example.yml @@ -30,3 +30,6 @@ jwt: secret-key: secret key access-token: expiration-time: time + +application: + base-url: base url From fc9b0ac06614d06dcefb5e55df83a15f81464626 Mon Sep 17 00:00:00 2001 From: chanrhan Date: Sun, 23 Nov 2025 21:17:37 +0900 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20yml=20=ED=94=84=EB=A1=9C=ED=8D=BC?= =?UTF-8?q?=ED=8B=B0=EB=AA=85=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/kro/photoliner/domain/user/service/UserService.java | 2 +- src/main/resources/application-dev.yml | 4 ++-- src/main/resources/application-local-example.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/kr/kro/photoliner/domain/user/service/UserService.java b/src/main/java/kr/kro/photoliner/domain/user/service/UserService.java index b652b12..29ebe0e 100644 --- a/src/main/java/kr/kro/photoliner/domain/user/service/UserService.java +++ b/src/main/java/kr/kro/photoliner/domain/user/service/UserService.java @@ -20,7 +20,7 @@ public class UserService { private final KakaoAuthService kakaoAuthService; private final JwtProvider jwtProvider; - @Value("${application.base-url}") + @Value("${client.base-url}") public String baseUrl; private static final String LOGIN_REDIRECT_URL = "/login/kakao"; diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 935be4f..b8af323 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -43,5 +43,5 @@ jwt: access-token: expiration-time: ${EXPIRATION_TIME} -application: - base-url: ${BASE_URL} +client: + base-url: ${CLIENT_BASE_URL} diff --git a/src/main/resources/application-local-example.yml b/src/main/resources/application-local-example.yml index 1464193..4b1fac4 100644 --- a/src/main/resources/application-local-example.yml +++ b/src/main/resources/application-local-example.yml @@ -31,5 +31,5 @@ jwt: access-token: expiration-time: time -application: +client: base-url: base url From 498b6951d313b147dc3ebc98712b2b1c321770f5 Mon Sep 17 00:00:00 2001 From: chanrhan Date: Sun, 23 Nov 2025 21:26:43 +0900 Subject: [PATCH 3/3] =?UTF-8?q?fix(GlobalExceptionHandler):=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EC=9E=91=EC=84=B1=20=EC=98=A4=EB=A5=98=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/kro/photoliner/global/auth/UserArgumentResolver.java | 1 - .../photoliner/global/exception/GlobalExceptionHandler.java | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/kr/kro/photoliner/global/auth/UserArgumentResolver.java b/src/main/java/kr/kro/photoliner/global/auth/UserArgumentResolver.java index da20406..81b2517 100644 --- a/src/main/java/kr/kro/photoliner/global/auth/UserArgumentResolver.java +++ b/src/main/java/kr/kro/photoliner/global/auth/UserArgumentResolver.java @@ -35,7 +35,6 @@ public Object resolveArgument( Objects.requireNonNull(authAt); String token = jwtProvider.extractAccessToken(webRequest); - System.out.println("resolver: " + token); jwtProvider.validateToken(token); Long userId = jwtProvider.getUserId(token); diff --git a/src/main/java/kr/kro/photoliner/global/exception/GlobalExceptionHandler.java b/src/main/java/kr/kro/photoliner/global/exception/GlobalExceptionHandler.java index f572868..2c4c35a 100644 --- a/src/main/java/kr/kro/photoliner/global/exception/GlobalExceptionHandler.java +++ b/src/main/java/kr/kro/photoliner/global/exception/GlobalExceptionHandler.java @@ -13,7 +13,7 @@ @RestControllerAdvice @Slf4j public class GlobalExceptionHandler extends ResponseEntityExceptionHandler { - + @ExceptionHandler(CustomException.class) public ResponseEntity handlePhotoUploadException( HttpServletRequest request, @@ -63,6 +63,6 @@ private ResponseEntity buildErrorResponse( ); return ResponseEntity .status(response.status()) - .body(request); + .body(response); } }