Skip to content

Commit

Permalink
refactor:[kakao-tech-campus-2nd-step3#84]- login Controller
Browse files Browse the repository at this point in the history
로그인 처리 과정 변경
  • Loading branch information
yooonwodyd committed Nov 12, 2024
1 parent 4b83fe8 commit 2cfeb0a
Showing 1 changed file with 24 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
}
}

0 comments on commit 2cfeb0a

Please sign in to comment.