From f41d58d494d7c9e4c594c4c91f2aefda31faea73 Mon Sep 17 00:00:00 2001 From: smyoo Date: Fri, 15 Nov 2024 15:42:40 +0900 Subject: [PATCH] =?UTF-8?q?Bug&Update=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=ED=86=A0=ED=81=B0=20=ED=83=80?= =?UTF-8?q?=EC=9E=85=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/controller/KakaoLoginController.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/back/src/main/java/com/thered/stocksignal/app/controller/KakaoLoginController.java b/back/src/main/java/com/thered/stocksignal/app/controller/KakaoLoginController.java index 4988b78..f1f3214 100644 --- a/back/src/main/java/com/thered/stocksignal/app/controller/KakaoLoginController.java +++ b/back/src/main/java/com/thered/stocksignal/app/controller/KakaoLoginController.java @@ -24,7 +24,7 @@ public class KakaoLoginController { @Operation(summary = "프론트로부터 카카오 인가코드 전달받기") @Parameter(name = "code", description = "카카오에서 받은 인카코드, RequestParam") - @PostMapping("/login") + @PostMapping("/login/code") public ApiResponse kakaoLoginCode(@RequestParam("code") String code){ String token = kakaoLoginService.getKakaoToken(code); @@ -42,6 +42,25 @@ public ApiResponse kakaoLoginCode(@RequestParam("code") String code){ return ApiResponse.onSuccess(Status.LOGIN_SUCCESS, dto); } + @Operation(summary = "프론트로부터 카카오 토큰 전달받기") + @Parameter(name = "token", description = "카카오에서 받은 토큰, RequestParam") + @PostMapping("/login/token") + public ApiResponse kakaoLoginToken(@RequestParam("token") String token){ + + KakaoLoginDto.KakaoUserInfoDto kakaoUserInfoDto = kakaoLoginService.getKakaoUserInfo(token); + + if(userAccountService.findByEmail(kakaoUserInfoDto.getEmail()).isEmpty()) userAccountService.saveKakaoUser(kakaoUserInfoDto.getEmail()); + User user = userAccountService.findByEmail(kakaoUserInfoDto.getEmail()).get(); + + String jwtToken = jwtUtil.createJwt(user.getId(), user.getNickname(), 3600000L); + KakaoLoginDto.LoginResponseDto dto = new KakaoLoginDto.LoginResponseDto().builder() + .userId(user.getId()) + .token(jwtToken) + .build(); + + return ApiResponse.onSuccess(Status.LOGIN_SUCCESS, dto); + } + @Operation(summary = "인가코드 발급 API") @GetMapping("/callback") public ApiResponse testInga(@RequestParam("code") String code){