From d7446eb6c60f34b865dad7112ed7a04de7c926ff Mon Sep 17 00:00:00 2001 From: mikekks Date: Thu, 5 Mar 2026 08:09:23 +0900 Subject: [PATCH 1/2] =?UTF-8?q?chore:=20access-token-expiration=20?= =?UTF-8?q?=EA=B0=92=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/layer/config/AuthValueConfig.java | 5 ++++- .../src/main/java/org/layer/jwt/service/JwtService.java | 7 +++++-- layer-api/src/main/resources/application-dev.yml | 1 + layer-api/src/main/resources/application-local.yml | 1 + layer-api/src/main/resources/application-prod.yml | 1 + layer-api/src/main/resources/application-test.yml | 1 + 6 files changed, 13 insertions(+), 3 deletions(-) diff --git a/layer-api/src/main/java/org/layer/config/AuthValueConfig.java b/layer-api/src/main/java/org/layer/config/AuthValueConfig.java index 8560280a..bb5c6b28 100644 --- a/layer-api/src/main/java/org/layer/config/AuthValueConfig.java +++ b/layer-api/src/main/java/org/layer/config/AuthValueConfig.java @@ -14,7 +14,10 @@ public class AuthValueConfig { @Value("${jwt.secret}") private String JWT_SECRET; - public static final Long ACCESS_TOKEN_EXPIRATION_TIME = 1000 * 60 * 60 * 24 * 14L; // TODO: 2주, 임시 기간이므로 추후 변경 필요 + @Value("${jwt.access-token-expiration}") + private Long accessTokenExpirationTime; + + // public static final Long ACCESS_TOKEN_EXPIRATION_TIME = 1000 * 60 * 60 * 24 * 14L; public static final Long REFRESH_TOKEN_EXPIRATION_TIME = 1000 * 60 * 60 * 24 * 14L; // 2주 @PostConstruct diff --git a/layer-api/src/main/java/org/layer/jwt/service/JwtService.java b/layer-api/src/main/java/org/layer/jwt/service/JwtService.java index 85413cf7..c5aec366 100644 --- a/layer-api/src/main/java/org/layer/jwt/service/JwtService.java +++ b/layer-api/src/main/java/org/layer/jwt/service/JwtService.java @@ -2,6 +2,8 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; + +import org.layer.config.AuthValueConfig; import org.layer.jwt.JwtProvider; import org.layer.jwt.JwtToken; import org.layer.jwt.JwtValidator; @@ -14,7 +16,6 @@ import java.time.Duration; import java.util.List; -import static org.layer.config.AuthValueConfig.ACCESS_TOKEN_EXPIRATION_TIME; import static org.layer.config.AuthValueConfig.REFRESH_TOKEN_EXPIRATION_TIME; import static org.layer.global.exception.ApiTokenExceptionType.*; @@ -26,8 +27,10 @@ public class JwtService { private final JwtValidator jwtValidator; private final RedisTemplate redisTemplate; + private final AuthValueConfig authValueConfig; + public JwtToken issueToken(Long memberId, MemberRole memberRole) { - String accessToken = jwtProvider.createToken(MemberAuthentication.create(memberId, memberRole), ACCESS_TOKEN_EXPIRATION_TIME); + String accessToken = jwtProvider.createToken(MemberAuthentication.create(memberId, memberRole), authValueConfig.getAccessTokenExpirationTime()); String refreshToken = jwtProvider.createToken(MemberAuthentication.create(memberId, memberRole), REFRESH_TOKEN_EXPIRATION_TIME); saveRefreshTokenToRedis(memberId, refreshToken); diff --git a/layer-api/src/main/resources/application-dev.yml b/layer-api/src/main/resources/application-dev.yml index 9d565bf9..215741c6 100644 --- a/layer-api/src/main/resources/application-dev.yml +++ b/layer-api/src/main/resources/application-dev.yml @@ -24,6 +24,7 @@ spring: jwt: secret: ${DEV_JWT_SECRET} + access-token-expiration: 60000 apple: login: diff --git a/layer-api/src/main/resources/application-local.yml b/layer-api/src/main/resources/application-local.yml index a6198a87..e11b34be 100644 --- a/layer-api/src/main/resources/application-local.yml +++ b/layer-api/src/main/resources/application-local.yml @@ -24,6 +24,7 @@ spring: jwt: secret: ${DEV_JWT_SECRET} + access-token-expiration: 60000 apple: login: diff --git a/layer-api/src/main/resources/application-prod.yml b/layer-api/src/main/resources/application-prod.yml index 4ea74242..6a182855 100644 --- a/layer-api/src/main/resources/application-prod.yml +++ b/layer-api/src/main/resources/application-prod.yml @@ -24,6 +24,7 @@ spring: jwt: secret: ${PROD_JWT_SECRET} + access-token-expiration: 1209600000 apple: login: diff --git a/layer-api/src/main/resources/application-test.yml b/layer-api/src/main/resources/application-test.yml index 8ea099e4..a442198c 100644 --- a/layer-api/src/main/resources/application-test.yml +++ b/layer-api/src/main/resources/application-test.yml @@ -25,6 +25,7 @@ spring: jwt: secret: ${DEV_JWT_SECRET} + access-token-expiration: 1209600000 apple: login: From 3cb4f429cf3f7fa1ac0e89548a88ca97e2fa81c5 Mon Sep 17 00:00:00 2001 From: mikekks Date: Sun, 8 Mar 2026 00:13:25 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=ED=8A=B8=EB=9E=9C=EC=9E=AD=EC=85=98?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/layer/batch/retrospect/RetrospectScheduler.java | 1 + 1 file changed, 1 insertion(+) diff --git a/layer-batch/src/main/java/org/layer/batch/retrospect/RetrospectScheduler.java b/layer-batch/src/main/java/org/layer/batch/retrospect/RetrospectScheduler.java index e5539155..6c466e9d 100644 --- a/layer-batch/src/main/java/org/layer/batch/retrospect/RetrospectScheduler.java +++ b/layer-batch/src/main/java/org/layer/batch/retrospect/RetrospectScheduler.java @@ -30,6 +30,7 @@ public class RetrospectScheduler { * @note: 1시간마다 실행된다. */ @Scheduled(cron = "0 0 * * * *") + @Transactional public void updateRetrospectStatusToDone() { log.info("Batch Module: Batch Start : updateRetrospectStatusToDone");