Skip to content

Commit aa3ab9e

Browse files
committed
feat(SecurityConfig): JwtAuthFilter, JwtExceptionFilter 추가
- JwtAuthFilter: 요청 헤더에서 JWT를 검증하고, 인증 정보를 SecurityContext에 설정 - JwtExceptionFilter: JWT 처리 중 발생한 예외를 캡처하고 ProblemDetail 형식으로 응답 반환
1 parent 9271e29 commit aa3ab9e

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

src/main/java/com/somemore/global/configure/SecurityConfig.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.somemore.global.configure;
22

3+
import com.somemore.auth.jwt.filter.JwtAuthFilter;
4+
import com.somemore.auth.jwt.filter.JwtExceptionFilter;
35
import com.somemore.auth.oauth.handler.failure.CustomOAuthFailureHandler;
46
import com.somemore.auth.oauth.handler.success.CustomOAuthSuccessHandler;
57
import com.somemore.auth.oauth.service.CustomOAuth2UserService;
@@ -13,6 +15,7 @@
1315
import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
1416
import org.springframework.security.config.http.SessionCreationPolicy;
1517
import org.springframework.security.web.SecurityFilterChain;
18+
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
1619

1720
@RequiredArgsConstructor
1821
@Configuration
@@ -24,10 +27,12 @@ public class SecurityConfig {
2427
private final CustomOAuth2UserService customOAuth2UserService;
2528
private final CustomOAuthSuccessHandler customOAuthSuccessHandler;
2629
private final CustomOAuthFailureHandler customOAuthFailureHandler;
30+
private final JwtAuthFilter jwtAuthFilter;
31+
private final JwtExceptionFilter jwtExceptionFilter;
2732

2833
@Bean
2934
public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception {
30-
return httpSecurity
35+
httpSecurity
3136
.csrf(AbstractHttpConfigurer::disable)
3237
.httpBasic(AbstractHttpConfigurer::disable)
3338
.formLogin(AbstractHttpConfigurer::disable)
@@ -57,13 +62,12 @@ public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws
5762
userInfoEndpointConfig.userService(customOAuth2UserService))
5863
.failureHandler(customOAuthFailureHandler)
5964
.successHandler(customOAuthSuccessHandler)
60-
).build();
65+
);
6166

6267

63-
// TODO JWT 인증 필터가 인증 요청 처리, JWT 인증 필터를 UsernamePasswordAuthenticationFilter 앞에 추가
64-
// return httpSecurity
65-
// .addFilterBefore(jwtAuthFilter, UsernamePasswordAuthenticationFilter.class)
66-
// .addFilterBefore(jwtExceptionFilter, JwtAuthFilter.class)
67-
// .build();
68+
return httpSecurity
69+
.addFilterBefore(jwtAuthFilter, UsernamePasswordAuthenticationFilter.class)
70+
.addFilterBefore(jwtExceptionFilter, JwtAuthFilter.class)
71+
.build();
6872
}
6973
}

0 commit comments

Comments
 (0)