diff --git a/src/main/java/org/atdev/artrip/domain/auth/jwt/JwtAuthenticationFilter.java b/src/main/java/org/atdev/artrip/domain/auth/jwt/JwtAuthenticationFilter.java index 519921f..37a5498 100644 --- a/src/main/java/org/atdev/artrip/domain/auth/jwt/JwtAuthenticationFilter.java +++ b/src/main/java/org/atdev/artrip/domain/auth/jwt/JwtAuthenticationFilter.java @@ -8,6 +8,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import org.springframework.web.filter.OncePerRequestFilter; @@ -20,6 +21,7 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter { private final JwtProvider jwtProvider; private static final String GRANT_TYPE = "Bearer "; + @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { diff --git a/src/main/java/org/atdev/artrip/domain/auth/jwt/JwtGenerator.java b/src/main/java/org/atdev/artrip/domain/auth/jwt/JwtGenerator.java index fb57101..f96c1c8 100644 --- a/src/main/java/org/atdev/artrip/domain/auth/jwt/JwtGenerator.java +++ b/src/main/java/org/atdev/artrip/domain/auth/jwt/JwtGenerator.java @@ -39,7 +39,7 @@ public JwtToken generateToken(User user, Role roles) { .setIssuer(jwtIssuer) .setSubject(String.valueOf(user.getUserId()))//userid로 할경우 jwt는 사양상 String 타입을 요구함 따라서string변환 .claim("auth", authorities)// 권한 설정 - .setExpiration(new Date(now+accessTokenExpirationMillis)) + .setExpiration(new Date(now+1000 * 60)) .setIssuedAt(Calendar.getInstance().getTime()) .signWith(key, SignatureAlgorithm.HS256) .compact(); diff --git a/src/main/java/org/atdev/artrip/domain/auth/jwt/JwtProvider.java b/src/main/java/org/atdev/artrip/domain/auth/jwt/JwtProvider.java index 4232c18..7cfe9bc 100644 --- a/src/main/java/org/atdev/artrip/domain/auth/jwt/JwtProvider.java +++ b/src/main/java/org/atdev/artrip/domain/auth/jwt/JwtProvider.java @@ -59,18 +59,17 @@ public boolean validateToken(String token) { return true; } catch (SecurityException | MalformedJwtException e) { log.warn("Invalid JWT Token", e); - throw new GeneralException(UserError._JWT_INVALID_SIGNATURE); + throw new JwtAuthenticationException(UserError._JWT_INVALID_SIGNATURE); } catch (ExpiredJwtException e) { log.warn("Expired JWT Token", e); - throw new GeneralException(UserError._JWT_EXPIRED_ACCESS_TOKEN); + throw new JwtAuthenticationException(UserError._JWT_EXPIRED_ACCESS_TOKEN); } catch (UnsupportedJwtException e) { log.warn("Unsupported JWT Token", e); - throw new GeneralException(UserError._JWT_UNSUPPORTED_TOKEN); + throw new JwtAuthenticationException(UserError._JWT_UNSUPPORTED_TOKEN); } catch (IllegalArgumentException e) { log.warn("JWT claims string is empty.", e); - throw new GeneralException(UserError._JWT_INVALID_TOKEN); + throw new JwtAuthenticationException(UserError._JWT_INVALID_TOKEN); } - // return false; } public void validateRefreshToken(String refreshToken) { try { diff --git a/src/main/java/org/atdev/artrip/domain/home/service/HomeService.java b/src/main/java/org/atdev/artrip/domain/home/service/HomeService.java index c64955a..0e87498 100644 --- a/src/main/java/org/atdev/artrip/domain/home/service/HomeService.java +++ b/src/main/java/org/atdev/artrip/domain/home/service/HomeService.java @@ -116,13 +116,6 @@ public List getRandomPersonalized(Long userId, PersonalizedReq Set favoriteIds = getFavoriteIds(userId); setFavorites(results, favoriteIds); - adjustLocationFields( - results, - request.getIsDomestic(), - request.getRegion(), - request.getCountry() - ); - return results; } @@ -139,13 +132,6 @@ public List getRandomSchedule(ScheduleRandomRequest request, L Set favoriteIds = getFavoriteIds(userId); setFavorites(results, favoriteIds); - adjustLocationFields( - results, - request.getIsDomestic(), - request.getRegion(), - request.getCountry() - ); - return results; } @@ -163,13 +149,6 @@ public List getRandomGenre(GenreRandomRequest request, Long us Set favoriteIds = getFavoriteIds(userId); setFavorites(results, favoriteIds); - adjustLocationFields( - results, - request.getIsDomestic(), - request.getRegion(), - request.getCountry() - ); - return results; } @@ -187,32 +166,9 @@ public List getRandomToday(TodayRandomRequest request, Long us Set favoriteIds = getFavoriteIds(userId); setFavorites(results, favoriteIds); - adjustLocationFields( - results, - request.getIsDomestic(), - request.getRegion(), - request.getCountry() - ); return results; } - private void adjustLocationFields(List results, boolean isDomestic, String region, String country) { - - boolean isWhole = ("전체".equals(region) || region == null) && ("전체".equals(country) || country == null); - - if (!isWhole) { - results.forEach(r -> { - r.setRegionName(null); - r.setCountryName(null); - }); - return; - } - if (isDomestic) { - results.forEach(r -> r.setCountryName(null)); - } else { - results.forEach(r -> r.setRegionName(null)); - } - } } \ No newline at end of file diff --git a/src/main/java/org/atdev/artrip/global/config/SecurityConfig.java b/src/main/java/org/atdev/artrip/global/config/SecurityConfig.java index 3c555ff..9b78053 100644 --- a/src/main/java/org/atdev/artrip/global/config/SecurityConfig.java +++ b/src/main/java/org/atdev/artrip/global/config/SecurityConfig.java @@ -64,12 +64,20 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti ) .successHandler(oAuth2LoginSuccessHandler) ) - .addFilterBefore(new JwtAuthenticationFilter(jwtProvider), - UsernamePasswordAuthenticationFilter.class) - .addFilterBefore(new JwtExceptionFilter(objectMapper), JwtAuthenticationFilter.class); + .addFilterBefore(jwtAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class) + .addFilterBefore(jwtExceptionFilter(), JwtAuthenticationFilter.class); return http.build(); } + @Bean + public JwtAuthenticationFilter jwtAuthenticationFilter() { + return new JwtAuthenticationFilter(jwtProvider); + } + + @Bean + public JwtExceptionFilter jwtExceptionFilter() { + return new JwtExceptionFilter(objectMapper); + } @Bean public CorsConfigurationSource corsConfigurationSource() {