From 3a9b5dd495e73de6654d196c5e912d1077794054 Mon Sep 17 00:00:00 2001 From: Jisun You <154600308+iiqcov@users.noreply.github.com> Date: Sun, 14 Jul 2024 21:36:29 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EB=A7=8C=EB=A3=8C=EB=90=9C=20=EC=97=91?= =?UTF-8?q?=EC=84=B8=EC=8A=A4=20=ED=86=A0=ED=81=B0=EC=97=90=20=EB=8C=80?= =?UTF-8?q?=ED=95=9C=20=EC=9D=91=EB=8B=B5=20=ED=86=B5=EC=9D=BC=20(#140)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix : 만료된 엑세스 토큰에 대한 응답 통일 * fix : 응답 에러를 UNAUTHORIZED로 변경 --- .../domain/auth/application/JwtTokenService.java | 5 +---- .../pickle/global/error/exception/ErrorCode.java | 2 +- .../global/security/JwtAuthenticationFilter.java | 13 +++---------- 3 files changed, 5 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/api/pickle/domain/auth/application/JwtTokenService.java b/src/main/java/com/api/pickle/domain/auth/application/JwtTokenService.java index 28cc53b..5a91e67 100644 --- a/src/main/java/com/api/pickle/domain/auth/application/JwtTokenService.java +++ b/src/main/java/com/api/pickle/domain/auth/application/JwtTokenService.java @@ -9,7 +9,6 @@ import com.api.pickle.global.error.exception.CustomException; import com.api.pickle.global.error.exception.ErrorCode; import com.api.pickle.global.util.JwtUtil; -import io.jsonwebtoken.ExpiredJwtException; import lombok.RequiredArgsConstructor; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.context.SecurityContextHolder; @@ -53,11 +52,9 @@ public void setAuthenticationToken(Long memberId, MemberRole role) { SecurityContextHolder.getContext().setAuthentication(token); } - public AccessTokenDto retrieveAccessToken(String accessTokenValue) throws ExpiredJwtException{ + public AccessTokenDto retrieveAccessToken(String accessTokenValue) { try { return jwtUtil.parseAccessToken(accessTokenValue); - } catch (ExpiredJwtException e) { - throw e; } catch (Exception e) { return null; } diff --git a/src/main/java/com/api/pickle/global/error/exception/ErrorCode.java b/src/main/java/com/api/pickle/global/error/exception/ErrorCode.java index 52a956c..1ab53da 100644 --- a/src/main/java/com/api/pickle/global/error/exception/ErrorCode.java +++ b/src/main/java/com/api/pickle/global/error/exception/ErrorCode.java @@ -16,7 +16,7 @@ public enum ErrorCode { EXPIRED_JWT_TOKEN(HttpStatus.UNAUTHORIZED, "만료된 JWT 토큰입니다."), MISSING_JWT_TOKEN(HttpStatus.UNAUTHORIZED, "토큰 정보가 존재하지 않습니다."), - AUTH_NOT_FOUND(HttpStatus.INTERNAL_SERVER_ERROR, "시큐리티 인증 정보를 찾을 수 없습니다."), + AUTH_NOT_FOUND(HttpStatus.UNAUTHORIZED, "시큐리티 인증 정보를 찾을 수 없습니다."), MEMBER_NOT_FOUND(HttpStatus.NOT_FOUND, "해당 회원을 찾을 수 없습니다."), diff --git a/src/main/java/com/api/pickle/global/security/JwtAuthenticationFilter.java b/src/main/java/com/api/pickle/global/security/JwtAuthenticationFilter.java index d688097..28a6d9e 100644 --- a/src/main/java/com/api/pickle/global/security/JwtAuthenticationFilter.java +++ b/src/main/java/com/api/pickle/global/security/JwtAuthenticationFilter.java @@ -2,9 +2,6 @@ import com.api.pickle.domain.auth.application.JwtTokenService; import com.api.pickle.domain.auth.dto.AccessTokenDto; -import com.api.pickle.global.error.exception.CustomException; -import com.api.pickle.global.error.exception.ErrorCode; -import io.jsonwebtoken.ExpiredJwtException; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; @@ -28,13 +25,9 @@ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse String accessTokenHeaderValue = extractAccessTokenFromHeader(request); if (accessTokenHeaderValue != null){ - try { - AccessTokenDto accessTokenDto = jwtTokenService.retrieveAccessToken(accessTokenHeaderValue); - if (accessTokenDto != null){ - jwtTokenService.setAuthenticationToken(accessTokenDto.getMemberId(), accessTokenDto.getMemberRole()); - } - } catch (ExpiredJwtException e) { - throw new CustomException(ErrorCode.EXPIRED_JWT_TOKEN); + AccessTokenDto accessTokenDto = jwtTokenService.retrieveAccessToken(accessTokenHeaderValue); + if (accessTokenDto != null){ + jwtTokenService.setAuthenticationToken(accessTokenDto.getMemberId(), accessTokenDto.getMemberRole()); } }