diff --git a/src/main/java/com/helpmeCookies/user/controller/LoginController.java b/src/main/java/com/helpmeCookies/user/controller/LoginController.java index 03431cf..53eb62c 100644 --- a/src/main/java/com/helpmeCookies/user/controller/LoginController.java +++ b/src/main/java/com/helpmeCookies/user/controller/LoginController.java @@ -10,6 +10,7 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.view.RedirectView; import com.helpmeCookies.global.jwt.JwtProvider; import com.helpmeCookies.global.jwt.JwtToken; @@ -28,35 +29,38 @@ @RequiredArgsConstructor //Todo: Swagger 추가 public class LoginController { - private final UserRepository userRepository; private final UserDetailService userDetailsService; + private final UserService userService; private final JwtProvider jwtProvider; // 임시 회원가입 url. 유저를 생성하고 jwt 토큰을 반환한다. @GetMapping("/test/signup") public JwtToken signup() { - UserInfo userInfo = UserInfo.builder() - .email("test@test") - .birthdate("1995-01-01") - .phone("010-1234-5678") - .hashTags(List.of(HashTag.DREAMLIKE)) - .name("test") - .address("서울시 강남구") - .build(); - - User user = User.builder() - .userInfo(userInfo) - .nickname("test") - .userImageUrl("test") - .build(); - - userRepository.save(user); - return jwtProvider.createToken(JwtUser.of(user.getId())); + + return jwtProvider.createToken(JwtUser.of(userService.getUserInfo(1L).id())); } + /* + http://1.618.s3-website.ap-northeast-2.amazonaws.com?accessToken="asfas"&refreshToken="asdfasdf" +또는 +http://1.618.s3-website.ap-northeast-2.amazonaws.com/signup?accessToken="asfas"&refreshToken="asdfasdf" +로 리다이렉트 + */ @GetMapping("/oauth2/login/kakao") - public JwtToken loginKakao(@AuthenticationPrincipal OAuth2User oAuth2User) { + public RedirectView loginKakao(@AuthenticationPrincipal OAuth2User oAuth2User) { KakaoOAuth2Response kakaoUser = KakaoOAuth2Response.from(oAuth2User.getAttributes()); - return jwtProvider.createToken(userDetailsService.loadUserByEmail(kakaoUser.email(), kakaoUser.nickname())); + JwtToken jwtToken = jwtProvider.createToken(userDetailsService.loadUserByEmail(kakaoUser.email(), kakaoUser.nickname())); + boolean isSignup = userService.checkSignup(kakaoUser.email()); + + String targetUrl; + if (isSignup) { + targetUrl = "http://1.618.s3-website.ap-northeast-2.amazonaws.com?accessToken=" + jwtToken.getAccessToken() + "&refreshToken=" + jwtToken.getRefreshToken(); + } else { + targetUrl = "http://1.618.s3-website.ap-northeast-2.amazonaws.com/signup?accessToken=" + jwtToken.getAccessToken() + "&refreshToken=" + jwtToken.getRefreshToken(); + } + + RedirectView redirectView = new RedirectView(); + redirectView.setUrl(targetUrl); + return redirectView; } }