From fb2bc34e8be6f3032e08f4f7aeeed81b28bdc382 Mon Sep 17 00:00:00 2001 From: Suhun0331 Date: Tue, 29 Apr 2025 14:46:41 +0900 Subject: [PATCH 1/2] =?UTF-8?q?Fix=20:=20=EC=B9=B4=EC=B9=B4=EC=98=A4=20?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=EB=88=84=EB=9D=BD=20param(redire?= =?UTF-8?q?ct=5Furi)=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/umc/kkijuk/server/auth/service/AuthService.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/umc/kkijuk/server/auth/service/AuthService.java b/src/main/java/umc/kkijuk/server/auth/service/AuthService.java index c0614f1..b51fdb4 100644 --- a/src/main/java/umc/kkijuk/server/auth/service/AuthService.java +++ b/src/main/java/umc/kkijuk/server/auth/service/AuthService.java @@ -110,6 +110,7 @@ public String getKakaoAccessToken(String code) { MultiValueMap params = new LinkedMultiValueMap<>(); params.add("grant_type", kakaoGrantType); params.add("client_id", kakaoClientId); + params.add("redirect_uri",kakaoRedirectUri); params.add("client_secret", kakaoClientSecret); params.add("code", code); From 3a9e3849a8732c7478cecb836afbe42da0a0b4c7 Mon Sep 17 00:00:00 2001 From: hyeonda02 Date: Tue, 13 May 2025 20:52:25 +0900 Subject: [PATCH 2/2] =?UTF-8?q?Refactor=20:=20=EB=84=A4=EC=9D=B4=EB=B2=84?= =?UTF-8?q?=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=EC=82=AC=EC=9A=A9=EC=9E=90=20?= =?UTF-8?q?=EC=A0=95=EB=B3=B4=20=EC=9A=94=EC=B2=AD=20=EC=8B=A4=ED=8C=A8=20?= =?UTF-8?q?=EC=8B=9C=20=EC=98=88=EC=99=B8=20=EC=B2=98=EB=A6=AC=20=EB=B3=B4?= =?UTF-8?q?=EA=B0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/auth/service/AuthService.java | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/main/java/umc/kkijuk/server/auth/service/AuthService.java b/src/main/java/umc/kkijuk/server/auth/service/AuthService.java index 96724a0..9874cb0 100644 --- a/src/main/java/umc/kkijuk/server/auth/service/AuthService.java +++ b/src/main/java/umc/kkijuk/server/auth/service/AuthService.java @@ -88,6 +88,10 @@ public Map handleKakaoLogin(String code, String redirectUri) { @Transactional public Map handleNaverLogin(String code, String state) { + if( code == null || code.isBlank()){ + throw new IllegalArgumentException("code 값이 누락되었습니다. 사용자가 인증을 거부했을 수 있습니다."); + } + String naverAccessToken = getNaverAccessToken(code, state); Member member = processNaverUser(naverAccessToken); @@ -201,10 +205,20 @@ public NaverUserResponse.NaverUserDetail getNaverUserInfo(String naverAccessToke HttpEntity> request = new HttpEntity<>(headers); try { - ResponseEntity response = - restTemplate.exchange(naverUserInfoUri, HttpMethod.GET, request, NaverUserResponse.class); - log.info("네이버 사용자 정보 응답: {}", response.getBody()); - return response.getBody().getNaverUserDetail(); + ResponseEntity response = restTemplate.exchange(naverUserInfoUri, HttpMethod.GET, request, NaverUserResponse.class); + NaverUserResponse body = response.getBody(); + log.info("네이버 사용자 정보 응답: {}", body); + + if (body == null) { + throw new RuntimeException("네이버 사용자 정보 응답이 null입니다."); + } + if(!"00".equals(body.getResultCode())){ + throw new RuntimeException("네이버 사용자 정보 요청 실패: " + body.getMessage()); + } + if (body.getNaverUserDetail() == null) { + throw new RuntimeException("네이버 사용자 정보가 존재하지 않습니다."); + } + return body.getNaverUserDetail(); } catch (Exception e) { log.error("네이버 사용자 정보 요청 실패: {}", e.getMessage());