diff --git a/src/main/java/life/mosu/mosuserver/application/oauth/OAuthUserPersistenceProcessor.java b/src/main/java/life/mosu/mosuserver/application/oauth/OAuthUserPersistenceProcessor.java index 103814ca..7f21b7a0 100644 --- a/src/main/java/life/mosu/mosuserver/application/oauth/OAuthUserPersistenceProcessor.java +++ b/src/main/java/life/mosu/mosuserver/application/oauth/OAuthUserPersistenceProcessor.java @@ -16,12 +16,21 @@ public class OAuthUserPersistenceProcessor implements StepProcessor { +// if (existingUser.isMosuUser()) { +// throw new IllegalArgumentException("이미 모수 회원입니다."); +// } existingUser.updateOAuthUser( info.gender(), info.name(), diff --git a/src/main/java/life/mosu/mosuserver/application/oauth/OAuthUserService.java b/src/main/java/life/mosu/mosuserver/application/oauth/OAuthUserService.java index d586ffdb..c3dc195d 100644 --- a/src/main/java/life/mosu/mosuserver/application/oauth/OAuthUserService.java +++ b/src/main/java/life/mosu/mosuserver/application/oauth/OAuthUserService.java @@ -5,6 +5,8 @@ import java.util.Map; import life.mosu.mosuserver.domain.profile.repository.ProfileJpaRepository; import life.mosu.mosuserver.domain.user.entity.UserJpaEntity; +import life.mosu.mosuserver.global.exception.CustomRuntimeException; +import life.mosu.mosuserver.global.exception.ErrorCode; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.core.ParameterizedTypeReference; @@ -58,7 +60,10 @@ public OAuth2User loadUser(final OAuth2UserRequest userRequest) oAuth2UserAttributes, agreedToMarketing); final UserJpaEntity oAuthUser = oAuthUserPersistenceProcessor.process(userInfo); - log.info("OAuthUser: {}", oAuthUser); + if (oAuthUser.isMosuUser()) { + log.info("모수 회원으로 가입된 사용자입니다: {}", oAuthUser.getLoginId()); + throw new CustomRuntimeException(ErrorCode.ALREADY_MOSU_USER); + } Boolean isProfileRegistered = profileRepository.existsByUserId(oAuthUser.getId()); return new OAuthUser(oAuthUser, oAuth2UserAttributes, userNameAttributeName, diff --git a/src/main/java/life/mosu/mosuserver/global/exception/ErrorCode.java b/src/main/java/life/mosu/mosuserver/global/exception/ErrorCode.java index e5f3f131..1e705d44 100644 --- a/src/main/java/life/mosu/mosuserver/global/exception/ErrorCode.java +++ b/src/main/java/life/mosu/mosuserver/global/exception/ErrorCode.java @@ -7,8 +7,8 @@ @Getter @RequiredArgsConstructor public enum ErrorCode { - // Principal 관련 에러 + ALREADY_MOSU_USER(HttpStatus.BAD_REQUEST, "이미 모수 회원입니다."), PRINCIPAL_NOT_FOUND(HttpStatus.UNAUTHORIZED, "인증된 사용자를 찾을 수 없습니다."), LOGIN_BLOCKED(HttpStatus.UNAUTHORIZED, "로그인 시도가 차단되었습니다. 잠시 후 다시 시도해주세요."), TOO_MANY_REQUESTS(HttpStatus.TOO_MANY_REQUESTS, "요청이 너무 많습니다. 잠시 후 다시 시도해주세요."),