From 80f3d5a893846de19d6d8e9be7fd43267750d3a7 Mon Sep 17 00:00:00 2001 From: Kwak Seong Joon Date: Tue, 21 Jan 2025 04:41:42 +0900 Subject: [PATCH] =?UTF-8?q?[fix]=20=EC=9D=B4=EC=8A=88=ED=95=B4=EA=B2=B0=20?= =?UTF-8?q?-=20#87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/cakey/config/SecurityConfig.java | 2 +- .../exception/handler/GlobalExceptionHandler.java | 10 ++++++++++ .../cakey/client/kakao/api/KakaoAuthApiClient.java | 2 +- .../cakey/client/kakao/api/KakaoSocialService.java | 4 +--- .../client/kakao/api/dto/KakaoAccessTokenRes.java | 13 +++++++------ 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/cakey-api/src/main/java/com/cakey/config/SecurityConfig.java b/cakey-api/src/main/java/com/cakey/config/SecurityConfig.java index 91eb1a5..a7d056e 100644 --- a/cakey-api/src/main/java/com/cakey/config/SecurityConfig.java +++ b/cakey-api/src/main/java/com/cakey/config/SecurityConfig.java @@ -24,7 +24,7 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti .httpBasic(AbstractHttpConfigurer::disable) .sessionManagement( session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) - .authorizeHttpRequests( auth -> auth.anyRequest().permitAll()) //todo: 추후 변경 + .authorizeHttpRequests( auth -> auth.anyRequest().permitAll()) .build(); } } \ No newline at end of file diff --git a/cakey-api/src/main/java/com/cakey/exception/handler/GlobalExceptionHandler.java b/cakey-api/src/main/java/com/cakey/exception/handler/GlobalExceptionHandler.java index a381210..e7998fc 100644 --- a/cakey-api/src/main/java/com/cakey/exception/handler/GlobalExceptionHandler.java +++ b/cakey-api/src/main/java/com/cakey/exception/handler/GlobalExceptionHandler.java @@ -5,6 +5,7 @@ import com.cakey.common.response.BaseResponse; import com.fasterxml.jackson.databind.JsonMappingException; import jakarta.persistence.EntityNotFoundException; +import lombok.val; import org.hibernate.exception.ConstraintViolationException; import org.springframework.context.MessageSourceResolvable; import org.springframework.context.support.DefaultMessageSourceResolvable; @@ -21,6 +22,7 @@ import org.springframework.web.servlet.NoHandlerFoundException; import org.springframework.web.servlet.resource.NoResourceFoundException; +import java.lang.reflect.InvocationTargetException; import java.util.stream.Collectors; @RestControllerAdvice @@ -166,6 +168,14 @@ public ResponseEntity> handleDataIntegrityViolationException(fin } } + + @ExceptionHandler(InvocationTargetException.class) + public ResponseEntity> handleInvocationTargetException(final InvocationTargetException e) { + Throwable cause = e.getCause(); + System.out.println(cause.getMessage()); + return ApiResponseUtil.failure(ErrorBaseCode.INTERNAL_SERVER_ERROR, cause.getMessage()); + } + /** * 500 - 모든 예외 처리 */ diff --git a/cakey-auth/src/main/java/com/cakey/client/kakao/api/KakaoAuthApiClient.java b/cakey-auth/src/main/java/com/cakey/client/kakao/api/KakaoAuthApiClient.java index d9add11..a2af159 100644 --- a/cakey-auth/src/main/java/com/cakey/client/kakao/api/KakaoAuthApiClient.java +++ b/cakey-auth/src/main/java/com/cakey/client/kakao/api/KakaoAuthApiClient.java @@ -10,7 +10,7 @@ @FeignClient(name = "kakaoAuthApiClient", url = "https://kauth.kakao.com") public interface KakaoAuthApiClient { - @PostMapping(value = "/oauth/token", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) + @PostMapping(value = "/oauth/token") KakaoAccessTokenRes getOAuth2AccessToken( @RequestParam("grant_type") String grantType, @RequestParam("client_id") String clientId, diff --git a/cakey-auth/src/main/java/com/cakey/client/kakao/api/KakaoSocialService.java b/cakey-auth/src/main/java/com/cakey/client/kakao/api/KakaoSocialService.java index 6ecd94d..5eefedd 100644 --- a/cakey-auth/src/main/java/com/cakey/client/kakao/api/KakaoSocialService.java +++ b/cakey-auth/src/main/java/com/cakey/client/kakao/api/KakaoSocialService.java @@ -33,10 +33,8 @@ public KakaoUserDto getKakaoUserInfo(final String authorizationCode) { } String contentType = MediaType.APPLICATION_FORM_URLENCODED.toString(); - // Access Token으로 유저 정보 불러오기 - final KakaoUserDto kakaoUserDto = getUserInfo(kakaoAccessToken, contentType); - return kakaoUserDto; + return getUserInfo(kakaoAccessToken, contentType); } private String getOAuth2Authentication( diff --git a/cakey-auth/src/main/java/com/cakey/client/kakao/api/dto/KakaoAccessTokenRes.java b/cakey-auth/src/main/java/com/cakey/client/kakao/api/dto/KakaoAccessTokenRes.java index 4efecaa..c478a9b 100644 --- a/cakey-auth/src/main/java/com/cakey/client/kakao/api/dto/KakaoAccessTokenRes.java +++ b/cakey-auth/src/main/java/com/cakey/client/kakao/api/dto/KakaoAccessTokenRes.java @@ -1,13 +1,14 @@ package com.cakey.client.kakao.api.dto; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.PropertyNamingStrategies; import com.fasterxml.jackson.databind.annotation.JsonNaming; -@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public record KakaoAccessTokenRes( - String accessToken -) { - public static KakaoAccessTokenRes of(final String accessToken) { - return new KakaoAccessTokenRes(accessToken); - } + @JsonProperty("token_type") String tokenType, + @JsonProperty("access_token") String accessToken, + @JsonProperty("expires_in") Integer expiresIn, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("refresh_token_expires_in") Integer refreshTokenExpiresIn, + @JsonProperty("scope") String scope) { } \ No newline at end of file