Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,18 @@ private static String createTempNickname() {
String uuid = UUID.randomUUID()
.toString()
.replace("-", "");

return "KAKAO_TMP_" + uuid.substring(0, 12);
}

public static Member toMember(KakaoUserInfoResponse kakaoUserInfo) {
String email = kakaoUserInfo.getEmail();
String name = kakaoUserInfo.getNickname();
String profileImageUrl = kakaoUserInfo.getProfileImageUrl();
String tempNickname = createTempNickname();

return Member.createKakaoMember(
email,
name,
tempNickname,
profileImageUrl
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
@RequiredArgsConstructor
public class KakaoLoginUseCase {

private static final String KAKAO_TEMP_NICKNAME_PREFIX = "KAKAO_TMP_";

private final KakaoAuthService kakaoAuthService;
private final SocialAccountService socialAccountService;
private final MemberService memberService;
Expand All @@ -31,32 +33,27 @@ public KakaoLoginResponse execute(KakaoLoginRequest request) {
request.accessToken()
);

String email = userInfo.getEmail();
String nickname = userInfo.getNickname();
String profileImageUrl = userInfo.getProfileImageUrl();
String providerUserId = String.valueOf(userInfo.id());

boolean isNewMember;
Member member;

SocialAccount socialAccount = socialAccountService
.findByProviderAndProviderUserId("KAKAO", providerUserId)
.orElse(null);

if (socialAccount == null) {
member = Member.createKakaoMember(
email,
nickname,
profileImageUrl
);
member = KakaoAuthMapper.toMember(userInfo);
memberService.save(member);
socialAccountService.createAndSaveKakaoAccount(providerUserId, member);
isNewMember = true;
} else {
member = socialAccount.getMember();
isNewMember = false;
}

String memberNickname = member.getNickname();

boolean isNewMember = memberNickname == null
|| memberNickname.startsWith(KAKAO_TEMP_NICKNAME_PREFIX);

String accessToken = jwtTokenProvider.createAccessToken(member.getId());
String refreshToken = jwtTokenProvider.createRefreshToken(member.getId());

Expand All @@ -70,4 +67,3 @@ public KakaoLoginResponse execute(KakaoLoginRequest request) {
);
}
}

3 changes: 2 additions & 1 deletion src/main/java/plango/member/domain/entity/Member.java
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,13 @@ public class Member extends BaseTimeEntity {

public static Member createKakaoMember(
String email,
String name,
String nickname,
String profileImageUrl
) {
Member member = new Member();
member.email = email;
member.name = nickname;
member.name = name;
member.nickname = nickname;
member.profileImageUrl = profileImageUrl;
member.loginType = LoginType.KAKAO;
Expand Down