From 1cd1eeaf92409c6de19052b08d9a44ca8f426f2e Mon Sep 17 00:00:00 2001 From: yunjuwon Date: Sun, 23 Feb 2025 19:01:32 +0900 Subject: [PATCH] =?UTF-8?q?fix=20:=20=ED=95=84=EC=9A=94=EC=97=86=EB=8A=94?= =?UTF-8?q?=20=EB=B6=80=EB=B6=84=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../global/jwt/service/JwtService.java | 22 +++++++------------ 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/backend/src/main/java/com/techeer/backend/global/jwt/service/JwtService.java b/backend/src/main/java/com/techeer/backend/global/jwt/service/JwtService.java index f313d45..03d7e1d 100644 --- a/backend/src/main/java/com/techeer/backend/global/jwt/service/JwtService.java +++ b/backend/src/main/java/com/techeer/backend/global/jwt/service/JwtService.java @@ -13,14 +13,12 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.security.Key; -import java.time.Duration; import java.util.Date; import java.util.Optional; import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; -import org.springframework.data.redis.core.RedisTemplate; import org.springframework.security.oauth2.jwt.JwtException; import org.springframework.stereotype.Service; @@ -48,10 +46,8 @@ public class JwtService { private static final String ACCESS_TOKEN_SUBJECT = "AccessToken"; private static final String REFRESH_TOKEN_SUBJECT = "RefreshToken"; private static final String EMAIL_CLAIM = "email"; - private static final String BEARER = "Bearer "; private final UserRepository userRepository; - private final RedisTemplate redisTemplate; private final RedisService redisService; private Key key; @@ -77,9 +73,11 @@ public String createAccessToken(String email) { public String reIssueRefreshToken(User user) { String reIssuedRefreshToken = this.createRefreshToken(); - String oldRefreshToken= user.updateRefreshToken(reIssuedRefreshToken); + String oldRefreshToken = user.updateRefreshToken(reIssuedRefreshToken); - if (oldRefreshToken != null) {redisService.deleteCacheRefreshToken(oldRefreshToken);} + if (oldRefreshToken != null) { + redisService.deleteCacheRefreshToken(oldRefreshToken); + } userRepository.saveAndFlush(user); redisService.cacheRefreshToken(reIssuedRefreshToken); @@ -89,7 +87,7 @@ public String reIssueRefreshToken(User user) { public String createRefreshToken() { Date now = new Date(); - String newRefreshToken= Jwts.builder() + String newRefreshToken = Jwts.builder() .setSubject(REFRESH_TOKEN_SUBJECT) .setExpiration(new Date(now.getTime() + refreshTokenExpirationPeriod)) .signWith(key, SignatureAlgorithm.HS256) @@ -98,12 +96,6 @@ public String createRefreshToken() { return newRefreshToken; } - private void CacheRefreshToken(String refreshToken) { - String key = "refreshToken:" + refreshToken; - // 리프레시 토큰을 Redis에 저장 (예: 7일 만료) - redisTemplate.opsForValue().set(key, refreshToken, Duration.ofDays(7)); - } - public Optional extractAccessTokenFromCookie(HttpServletRequest request) { if (request.getCookies() != null) { @@ -135,7 +127,9 @@ public boolean isRefreshTokenValid(String refreshToken) { // cache에 refreshToken이 유효성 검증 String userRefreshToken = redisService.refreshTokenGet(refreshToken); - if (userRefreshToken != null) {return userRefreshToken.equals(refreshToken);} + if (userRefreshToken != null) { + return userRefreshToken.equals(refreshToken); + } // DB에 refreshToken이 유효성 검증 Optional user = userRepository.findByRefreshToken(refreshToken);