Skip to content

Commit c45a05b

Browse files
chanrhanchanrhan
andauthored
fix: 카카오 로그인 오류 수정 (#58)
* feat: base-url yml에서 받아오도록 수정 * fix: yml 프로퍼티명 수정 * fix(GlobalExceptionHandler): 코드 작성 오류 수정 --------- Co-authored-by: chanrhan <km1104rs@naver.com>
1 parent 09e175e commit c45a05b

7 files changed

Lines changed: 22 additions & 21 deletions

File tree

src/main/java/kr/kro/photoliner/common/dto/response/JwtResponse.java

Lines changed: 0 additions & 7 deletions
This file was deleted.

src/main/java/kr/kro/photoliner/domain/user/controller/UserController.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package kr.kro.photoliner.domain.user.controller;
22

33
import java.net.URI;
4-
import kr.kro.photoliner.common.dto.response.JwtResponse;
54
import kr.kro.photoliner.domain.user.dto.response.UserInfoResponse;
65
import kr.kro.photoliner.domain.user.service.UserService;
76
import kr.kro.photoliner.global.auth.Auth;
@@ -21,13 +20,10 @@ public class UserController {
2120

2221
private final UserService userService;
2322
private final KakaoAuthService kakaoAuthService;
24-
private static final String LOGIN_REDIRECT_URL = "http://localhost:5173/login/kakao";
2523

2624
@GetMapping("/login/kakao")
27-
public ResponseEntity<JwtResponse> login(@RequestParam(value = "code") String authorizationCode) {
28-
JwtResponse jwtResponse = userService.oAuthLogin(authorizationCode);
29-
30-
String redirectUrl = LOGIN_REDIRECT_URL + "#accessToken=" + jwtResponse.accessToken();
25+
public ResponseEntity<Void> login(@RequestParam(value = "code") String authorizationCode) {
26+
String redirectUrl = userService.oAuthLogin(authorizationCode);
3127

3228
return ResponseEntity
3329
.status(HttpStatus.FOUND)

src/main/java/kr/kro/photoliner/domain/user/service/UserService.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package kr.kro.photoliner.domain.user.service;
22

3-
import kr.kro.photoliner.common.dto.response.JwtResponse;
43
import kr.kro.photoliner.domain.user.dto.response.UserInfoResponse;
54
import kr.kro.photoliner.domain.user.model.User;
65
import kr.kro.photoliner.domain.user.repository.UserRepository;
@@ -11,6 +10,7 @@
1110
import kr.kro.photoliner.global.kakao.login.dto.response.KakaoProfileResponse;
1211
import kr.kro.photoliner.global.kakao.login.service.KakaoAuthService;
1312
import lombok.RequiredArgsConstructor;
13+
import org.springframework.beans.factory.annotation.Value;
1414
import org.springframework.stereotype.Service;
1515

1616
@Service
@@ -20,21 +20,28 @@ public class UserService {
2020
private final KakaoAuthService kakaoAuthService;
2121
private final JwtProvider jwtProvider;
2222

23+
@Value("${client.base-url}")
24+
public String baseUrl;
25+
26+
private static final String LOGIN_REDIRECT_URL = "/login/kakao";
27+
2328
public UserInfoResponse getUserInfo(Long userId) {
2429
User user = userRepository.findUserById(userId)
2530
.orElseThrow(() -> CustomException.of(ApiResponseCode.NOT_FOUND_USER, "user id: " + userId));
2631
return UserInfoResponse.from(user);
2732
}
2833

29-
public JwtResponse oAuthLogin(String authorizationCode) {
34+
public String oAuthLogin(String authorizationCode) {
3035
KakaoOauthTokenResponse tokenResponse = kakaoAuthService.getTokenByAuthorizationCode(authorizationCode);
31-
String accessToken = tokenResponse.accessToken();
32-
KakaoProfileResponse profileResponse = kakaoAuthService.getKakaoUserProfile(accessToken);
36+
String kakaoAccessToken = tokenResponse.accessToken();
37+
KakaoProfileResponse profileResponse = kakaoAuthService.getKakaoUserProfile(kakaoAccessToken);
3338

3439
User user = userRepository.findUserByEmail(profileResponse.kakaoAccount().email())
3540
.orElseGet(() -> signup(User.from(profileResponse)));
3641

37-
return new JwtResponse(jwtProvider.createAccessToken(user));
42+
String accessToken = jwtProvider.createAccessToken(user);
43+
44+
return baseUrl + LOGIN_REDIRECT_URL + "#accessToken=" + accessToken;
3845
}
3946

4047
private User signup(User user) {

src/main/java/kr/kro/photoliner/global/auth/UserArgumentResolver.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ public Object resolveArgument(
3535
Objects.requireNonNull(authAt);
3636

3737
String token = jwtProvider.extractAccessToken(webRequest);
38-
System.out.println("resolver: " + token);
3938
jwtProvider.validateToken(token);
4039
Long userId = jwtProvider.getUserId(token);
4140

src/main/java/kr/kro/photoliner/global/exception/GlobalExceptionHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
@RestControllerAdvice
1414
@Slf4j
1515
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {
16-
16+
1717
@ExceptionHandler(CustomException.class)
1818
public ResponseEntity<Object> handlePhotoUploadException(
1919
HttpServletRequest request,
@@ -63,6 +63,6 @@ private ResponseEntity<Object> buildErrorResponse(
6363
);
6464
return ResponseEntity
6565
.status(response.status())
66-
.body(request);
66+
.body(response);
6767
}
6868
}

src/main/resources/application-dev.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,6 @@ jwt:
4242
secret-key: ${SECRET_KEY}
4343
access-token:
4444
expiration-time: ${EXPIRATION_TIME}
45+
46+
client:
47+
base-url: ${CLIENT_BASE_URL}

src/main/resources/application-local-example.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,6 @@ jwt:
3030
secret-key: secret key
3131
access-token:
3232
expiration-time: time
33+
34+
client:
35+
base-url: base url

0 commit comments

Comments
 (0)