From 1401d6a54fab9c8daf18982de2a809ee48e33bda Mon Sep 17 00:00:00 2001 From: Kwak Seong Joon Date: Tue, 16 Jul 2024 23:09:36 +0900 Subject: [PATCH 1/3] =?UTF-8?q?[feat]=20Validator=20=EA=B5=AC=ED=98=84=20-?= =?UTF-8?q?=20#130?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/dateroad/common/Validator.java | 21 +++++++++++++++++++ .../dateroad/user/service/AuthService.java | 10 +++------ .../dateroad/user/service/UserService.java | 4 +++- 3 files changed, 27 insertions(+), 8 deletions(-) create mode 100644 dateroad-api/src/main/java/org/dateroad/common/Validator.java diff --git a/dateroad-api/src/main/java/org/dateroad/common/Validator.java b/dateroad-api/src/main/java/org/dateroad/common/Validator.java new file mode 100644 index 00000000..2b5fc37e --- /dev/null +++ b/dateroad-api/src/main/java/org/dateroad/common/Validator.java @@ -0,0 +1,21 @@ +package org.dateroad.common; + +import lombok.AccessLevel; +import lombok.NoArgsConstructor; +import org.dateroad.code.FailureCode; +import org.dateroad.exception.InvalidValueException; +import org.dateroad.tag.domain.DateTagType; + +import java.util.List; + +@NoArgsConstructor(access = AccessLevel.PRIVATE) +public final class Validator { + + //태그 리스트 사이즈 검증 + public static void validateUserTagSize(final List userTags) { + if (userTags.isEmpty() || userTags.size() > 3) { + throw new InvalidValueException((FailureCode.WRONG_USER_TAG_SIZE)); + } + } + +} diff --git a/dateroad-api/src/main/java/org/dateroad/user/service/AuthService.java b/dateroad-api/src/main/java/org/dateroad/user/service/AuthService.java index 096a8f19..6b792034 100644 --- a/dateroad-api/src/main/java/org/dateroad/user/service/AuthService.java +++ b/dateroad-api/src/main/java/org/dateroad/user/service/AuthService.java @@ -6,6 +6,7 @@ import org.dateroad.auth.jwt.JwtProvider; import org.dateroad.auth.jwt.Token; import org.dateroad.code.FailureCode; +import org.dateroad.common.Validator; import org.dateroad.exception.*; import org.dateroad.feign.apple.AppleFeignProvider; import org.dateroad.feign.kakao.KakaoFeignProvider; @@ -33,6 +34,8 @@ import java.io.IOException; import java.util.List; +import static org.dateroad.common.Validator.validateUserTagSize; + @RequiredArgsConstructor @Transactional(readOnly = true) @Service @@ -156,13 +159,6 @@ private User getUserByUserId(final long userId) { ); } - //태그 리스트 사이즈 검증 - public void validateUserTagSize(final List userTags) { - if (userTags.isEmpty() || userTags.size() > 3) { - throw new InvalidValueException((FailureCode.WRONG_USER_TAG_SIZE)); - } - } - private RefreshToken getRefreshTokenByToken(final String refreshToken) { try { return refreshTokenRepository.findRefreshTokenByToken(refreshToken) diff --git a/dateroad-api/src/main/java/org/dateroad/user/service/UserService.java b/dateroad-api/src/main/java/org/dateroad/user/service/UserService.java index f74bb213..786ae712 100644 --- a/dateroad-api/src/main/java/org/dateroad/user/service/UserService.java +++ b/dateroad-api/src/main/java/org/dateroad/user/service/UserService.java @@ -21,6 +21,8 @@ import java.util.List; import java.util.concurrent.ExecutionException; +import static org.dateroad.common.Validator.validateUserTagSize; + @Service @Transactional(readOnly = true) @RequiredArgsConstructor @@ -60,7 +62,7 @@ public void editUserProfile(final Long userId, //tag 변경 userTagRepository.deleteAllByUserId(foundUser.getId()); - authService.validateUserTagSize(tags); + validateUserTagSize(tags); saveUserTag(foundUser, tags); //이미지 변경 From fe6d0b2fa5e945f6458cc6dc2a958f804c38a26d Mon Sep 17 00:00:00 2001 From: Kwak Seong Joon Date: Tue, 16 Jul 2024 23:11:35 +0900 Subject: [PATCH 2/3] =?UTF-8?q?[chore]=20=ED=81=B4=EB=9E=98=EC=8A=A4?= =?UTF-8?q?=EB=AA=85=20=EB=B3=80=EA=B2=BD=20-=20#130?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dateroad/common/{Validator.java => ValidatorUtil.java} | 2 +- .../src/main/java/org/dateroad/user/service/AuthService.java | 3 +-- .../src/main/java/org/dateroad/user/service/UserService.java | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) rename dateroad-api/src/main/java/org/dateroad/common/{Validator.java => ValidatorUtil.java} (94%) diff --git a/dateroad-api/src/main/java/org/dateroad/common/Validator.java b/dateroad-api/src/main/java/org/dateroad/common/ValidatorUtil.java similarity index 94% rename from dateroad-api/src/main/java/org/dateroad/common/Validator.java rename to dateroad-api/src/main/java/org/dateroad/common/ValidatorUtil.java index 2b5fc37e..94f2e8db 100644 --- a/dateroad-api/src/main/java/org/dateroad/common/Validator.java +++ b/dateroad-api/src/main/java/org/dateroad/common/ValidatorUtil.java @@ -9,7 +9,7 @@ import java.util.List; @NoArgsConstructor(access = AccessLevel.PRIVATE) -public final class Validator { +public final class ValidatorUtil { //태그 리스트 사이즈 검증 public static void validateUserTagSize(final List userTags) { diff --git a/dateroad-api/src/main/java/org/dateroad/user/service/AuthService.java b/dateroad-api/src/main/java/org/dateroad/user/service/AuthService.java index 6b792034..617c094e 100644 --- a/dateroad-api/src/main/java/org/dateroad/user/service/AuthService.java +++ b/dateroad-api/src/main/java/org/dateroad/user/service/AuthService.java @@ -6,7 +6,6 @@ import org.dateroad.auth.jwt.JwtProvider; import org.dateroad.auth.jwt.Token; import org.dateroad.code.FailureCode; -import org.dateroad.common.Validator; import org.dateroad.exception.*; import org.dateroad.feign.apple.AppleFeignProvider; import org.dateroad.feign.kakao.KakaoFeignProvider; @@ -34,7 +33,7 @@ import java.io.IOException; import java.util.List; -import static org.dateroad.common.Validator.validateUserTagSize; +import static org.dateroad.common.ValidatorUtil.validateUserTagSize; @RequiredArgsConstructor @Transactional(readOnly = true) diff --git a/dateroad-api/src/main/java/org/dateroad/user/service/UserService.java b/dateroad-api/src/main/java/org/dateroad/user/service/UserService.java index 786ae712..9ebb2e5e 100644 --- a/dateroad-api/src/main/java/org/dateroad/user/service/UserService.java +++ b/dateroad-api/src/main/java/org/dateroad/user/service/UserService.java @@ -21,7 +21,7 @@ import java.util.List; import java.util.concurrent.ExecutionException; -import static org.dateroad.common.Validator.validateUserTagSize; +import static org.dateroad.common.ValidatorUtil.validateUserTagSize; @Service @Transactional(readOnly = true) From 252f6ba934446466cc6ae112dd9477b3dbc8efae Mon Sep 17 00:00:00 2001 From: Kwak Seong Joon Date: Tue, 16 Jul 2024 23:16:35 +0900 Subject: [PATCH 3/3] =?UTF-8?q?[feat]=20=EB=A6=AC=ED=94=84=EB=A0=88?= =?UTF-8?q?=EC=8B=9C=ED=86=A0=ED=81=B0=20=EA=B2=80=EC=A6=9D=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20-=20#130?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/dateroad/auth/jwt/JwtProvider.java | 7 ------- .../src/main/java/org/dateroad/common/ValidatorUtil.java | 8 ++++++++ .../main/java/org/dateroad/user/service/AuthService.java | 4 +++- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/dateroad-api/src/main/java/org/dateroad/auth/jwt/JwtProvider.java b/dateroad-api/src/main/java/org/dateroad/auth/jwt/JwtProvider.java index 4329a701..0a360367 100644 --- a/dateroad-api/src/main/java/org/dateroad/auth/jwt/JwtProvider.java +++ b/dateroad-api/src/main/java/org/dateroad/auth/jwt/JwtProvider.java @@ -23,13 +23,6 @@ public Token issueToken(final long userId) { ); } - //refreshToken 재발급할 때 검증 - public void validateRefreshToken(LocalDateTime expireDate) { - if (expireDate.isBefore(LocalDateTime.now())) { - throw new UnauthorizedException(FailureCode.EXPIRED_REFRESH_TOKEN); - } - } - public long getUserIdFromSubject(String token) { Jws jws = jwtGenerator.parseToken(token); String subject = jws.getBody().getSubject(); diff --git a/dateroad-api/src/main/java/org/dateroad/common/ValidatorUtil.java b/dateroad-api/src/main/java/org/dateroad/common/ValidatorUtil.java index 94f2e8db..ec2a265e 100644 --- a/dateroad-api/src/main/java/org/dateroad/common/ValidatorUtil.java +++ b/dateroad-api/src/main/java/org/dateroad/common/ValidatorUtil.java @@ -4,8 +4,10 @@ import lombok.NoArgsConstructor; import org.dateroad.code.FailureCode; import org.dateroad.exception.InvalidValueException; +import org.dateroad.exception.UnauthorizedException; import org.dateroad.tag.domain.DateTagType; +import java.time.LocalDateTime; import java.util.List; @NoArgsConstructor(access = AccessLevel.PRIVATE) @@ -18,4 +20,10 @@ public static void validateUserTagSize(final List userTags) { } } + //refreshToken 재발급할 때 검증 + public static void validateRefreshToken(LocalDateTime expireDate) { + if (expireDate.isBefore(LocalDateTime.now())) { + throw new UnauthorizedException(FailureCode.EXPIRED_REFRESH_TOKEN); + } + } } diff --git a/dateroad-api/src/main/java/org/dateroad/user/service/AuthService.java b/dateroad-api/src/main/java/org/dateroad/user/service/AuthService.java index 617c094e..3b6830ac 100644 --- a/dateroad-api/src/main/java/org/dateroad/user/service/AuthService.java +++ b/dateroad-api/src/main/java/org/dateroad/user/service/AuthService.java @@ -6,6 +6,7 @@ import org.dateroad.auth.jwt.JwtProvider; import org.dateroad.auth.jwt.Token; import org.dateroad.code.FailureCode; +import org.dateroad.common.ValidatorUtil; import org.dateroad.exception.*; import org.dateroad.feign.apple.AppleFeignProvider; import org.dateroad.feign.kakao.KakaoFeignProvider; @@ -33,6 +34,7 @@ import java.io.IOException; import java.util.List; +import static org.dateroad.common.ValidatorUtil.validateRefreshToken; import static org.dateroad.common.ValidatorUtil.validateUserTagSize; @RequiredArgsConstructor @@ -76,7 +78,7 @@ public UserJwtInfoRes signIn(final String token, final UserSignInReq userSignInR @Transactional public UserJwtInfoRes reissue(final String refreshToken) { RefreshToken foundRefreshToken = getRefreshTokenByToken(refreshToken); - jwtProvider.validateRefreshToken(foundRefreshToken.getExpiredAt()); + validateRefreshToken(foundRefreshToken.getExpiredAt()); Long userId = foundRefreshToken.getUserId(); deleteRefreshToken(userId); Token newToken = issueToken(userId);