Skip to content

Commit fb0f951

Browse files
authored
Merge pull request #69 from Gyuhyeok99/refactor/#68
[refactor/#68] 카카오 로그인 수정
2 parents 71d1a9b + 962b5c3 commit fb0f951

File tree

4 files changed

+27
-9
lines changed

4 files changed

+27
-9
lines changed

src/main/java/carbonneutral/academy/api/controller/auth/AuthController.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package carbonneutral.academy.api.controller.auth;
22

3+
import carbonneutral.academy.api.controller.auth.dto.request.PostLoginReq;
34
import carbonneutral.academy.api.controller.auth.dto.response.PostSocialRes;
45
import carbonneutral.academy.api.service.auth.AuthService;
56
import carbonneutral.academy.common.BaseResponse;
@@ -8,6 +9,7 @@
89
import io.swagger.v3.oas.annotations.tags.Tag;
910
import lombok.RequiredArgsConstructor;
1011
import lombok.extern.slf4j.Slf4j;
12+
import org.springframework.validation.annotation.Validated;
1113
import org.springframework.web.bind.annotation.*;
1214

1315
import static carbonneutral.academy.common.code.status.SuccessStatus.OAUTH_OK;
@@ -27,12 +29,11 @@ public BaseResponse<String> health() {
2729
return BaseResponse.onSuccess("I'm healthy");
2830
}
2931

30-
@PostMapping("/{socialType}/login")
32+
@PostMapping("/login")
3133
@Operation(summary = "소셜 로그인 API",description = "소셜 로그인을 진행합니다.")
32-
public BaseResponse<PostSocialRes> login(@PathVariable(name="socialType") String socialLoginPath,
33-
@RequestParam("code") String code) {
34-
SocialType socialType = SocialType.valueOf(socialLoginPath.toUpperCase());
35-
return BaseResponse.of(OAUTH_OK, authService.socialLogin(socialType, code));
34+
public BaseResponse<PostSocialRes> login(@Validated @RequestBody PostLoginReq postLoginReq) {
35+
SocialType socialType = SocialType.valueOf(postLoginReq.getSocialType().toUpperCase());
36+
return BaseResponse.of(OAUTH_OK, authService.socialLogin(postLoginReq.getCode(), socialType));
3637
}
3738

3839

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package carbonneutral.academy.api.controller.auth.dto.request;
2+
3+
import carbonneutral.academy.domain.user.enums.SocialType;
4+
import lombok.AllArgsConstructor;
5+
import lombok.Builder;
6+
import lombok.Getter;
7+
import lombok.NoArgsConstructor;
8+
9+
@Getter
10+
@NoArgsConstructor
11+
@Builder
12+
@AllArgsConstructor
13+
public class PostLoginReq {
14+
15+
private String socialType;
16+
private String code;
17+
}

src/main/java/carbonneutral/academy/api/service/auth/AuthService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
public interface AuthService {
77

8-
PostSocialRes socialLogin(SocialType socialType, String authorizationCode);
8+
PostSocialRes socialLogin(String code, SocialType socialType);
99

1010

1111
}

src/main/java/carbonneutral/academy/api/service/auth/AuthServiceImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,18 +42,18 @@ public class AuthServiceImpl implements AuthService {
4242

4343
@Override
4444
@Transactional
45-
public PostSocialRes socialLogin(SocialType socialType, String authorizationCode) {
45+
public PostSocialRes socialLogin(String code, SocialType socialType) {
4646
switch (socialType){
4747
case KAKAO: {
48-
GetKakaoRes getKakaoRes = kakaoLoginService.getUserInfo(kakaoLoginService.getAccessToken(authorizationCode));
48+
GetKakaoRes getKakaoRes = kakaoLoginService.getUserInfo(code);
4949

5050
boolean isRegistered = userJpaRepository.existsByUsernameAndSocialTypeAndState(getKakaoRes.getId(), SocialType.KAKAO, ACTIVE);
5151

5252
if (!isRegistered) {
5353
User user = AuthConverter.toUser(getKakaoRes);
54+
userJpaRepository.save(user);
5455
pointJpaRepository.save(AuthConverter.toPoint(user));
5556
useStatisticsJpaRepository.save(AuthConverter.toUseStatistics(user));
56-
userJpaRepository.save(user);
5757
}
5858
User user = userJpaRepository.findByUsernameAndState(getKakaoRes.getId(), ACTIVE)
5959
.orElseThrow(() -> new BaseException(NOT_FIND_USER));

0 commit comments

Comments
 (0)