diff --git a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/jwt/JwtAuthorizationFilter.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/jwt/JwtAuthorizationFilter.java index 099f1cc2..03f5071f 100644 --- a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/jwt/JwtAuthorizationFilter.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/security/jwt/JwtAuthorizationFilter.java @@ -35,7 +35,7 @@ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse if (header == null || !header.startsWith("Bearer ")) { filterChain.doFilter(request, response); - log.info("JwtAuthorizationFilter 1 "); + log.debug("JwtAuthorizationFilter: Authorization 헤더가 없거나 Bearer 토큰 형식이 아님. JWT 인증 필터를 건너뜁니다. [header={}] ", header); return; } @@ -51,7 +51,7 @@ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); response.getWriter().print("access token expired"); - log.info("JwtAuthorizationFilter 2 "); + log.warn("JwtAuthorizationFilter: 만료된 AccessToken 입니다. 토큰 인증 거부, URI: {}", request.getRequestURI()); return; } @@ -63,7 +63,7 @@ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); response.getWriter().print("invalid access token"); - log.info("JwtAuthorizationFilter 3 "); + log.warn("JwtAuthorizationFilter: 잘못된 토큰 유형(accessToken 아님)으로 인증 요청. URI: {}, tokenCategory: {}", request.getRequestURI(), tokenCategory); return; } @@ -71,6 +71,13 @@ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse Long userId = jwtUtil.getUserId(accessToken); String roleString = jwtUtil.getRole(accessToken); + if (userId == null || roleString == null) { + log.warn("JwtAuthorizationFilter: JWT에서 userId 또는 role 추출 실패. 토큰: {}", accessToken); + response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); + response.getWriter().print("invalid token"); + return; + } + User user = User.createUserWithId(userId, "sampleEmail", "sampleNickname", "sampleProfileImg" , SocialType.KAKAO, Role.fromString(roleString)); @@ -83,7 +90,7 @@ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse // 생성한 인증 정보를 SecurityContext에 설정 SecurityContextHolder.getContext().setAuthentication(usernamePasswordAuthenticationToken); - log.info("JwtAuthorizationFilter 4 "); + log.info("JwtAuthorizationFilter: 인증 성공. userId={}, role={}, URI={}", userId, roleString, request.getRequestURI()); filterChain.doFilter(request, response); diff --git a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/token/service/TokenService.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/token/service/TokenService.java index 4752de8e..0b023a15 100644 --- a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/token/service/TokenService.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/token/service/TokenService.java @@ -22,29 +22,29 @@ public class TokenService { private final JwtUtil jwtUtil; @Transactional - public Boolean validateToken(String token, Long userId){ + public boolean validateToken(String token, Long userId){ // DB에서 해당 userId와 일치하는 리프레시토큰을 찾는다. Optional savedToken = tokenRepository.findByUserId(userId); // DB에서 userId에 대응되는 리프레시토큰 없으면, 유효하지 않음 if (savedToken.isEmpty()){ - log.info("여기에 걸렸니 ? -- 1 "); + log.debug("DB에 현재 userId에 대응되는 리프레시 토큰이 없습니다"); return false; } // 리프레시 토큰이 DB에 저장된 토큰과 일치하는지 확인 if (!savedToken.get().getRefreshToken().equals(token)){ - log.info("여기에 걸렸니 ? -- 2 "); + log.debug("DB에 저장된 리프레시 토큰와 현재 전달받은 리프레시 토큰 일치하지 않습니다"); return false; } // 리프레시 토큰의 만료여부 확인 if(jwtUtil.isExpired(token)){ - log.info("여기에 걸렸니 ? -- 3 "); + log.debug("리프레시 토큰이 만료된 토큰입니다"); return false; // 만료된 토큰은 유효하지 않음 } - log.info("여기에 걸렸니 ? -- 4 "); + log.info("리프레시 토큰이 유효한 토큰입니다"); return true; // 모든 조건 만족 시, 유효한 토큰 } diff --git a/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/entity/OrderStatus.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/entity/OrderStatus.java index 98b50744..322a5218 100644 --- a/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/entity/OrderStatus.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/order/entity/OrderStatus.java @@ -4,6 +4,7 @@ import lombok.Getter; import lombok.RequiredArgsConstructor; +// TODO 자바 코드로 변경 후 common 모듈로 이동 @Getter @RequiredArgsConstructor @Schema(description = "주문 상태 Enum")