Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- 자바스크립트
- 바닐라코딩
- 헤리턴스아라
- 자바
- css
- 2022회고
- JavaScript
- Spring
- 소프트웨어장인정신
- Hibernate Reactive
- 취업회고
- 클로저
- SpringSecurity
- 주간회고
- 포트폴리오
- java
- 이펙티브자바
- html
- jvm
- 상속
- 메가테라
- til
- 몰디브
- http 완벽 가이드
- HTTP 완벽가이드
- 신혼여행
- 부트캠프
- http
- leetcode
- CORS
Archives
- Today
- Total
codingBird
TIL - 쇼핑몰 프로젝트(Plain Old) v1 → v2 9일 차. JwtExceptionFilter 본문

첫 출근을 기다리며 여유롭게 코테, SQL, 프로젝트 마이그레이션을 진행하고 있다.
인생의 낙원이 있다면 이게 아닐까 생각하는 요즘이다.
기능 대부분은 마이그레이션 완료했으니 가능하면 출근 전에 선착순 상품 구현해보도록 하자.
Filter 에서 발생하는 예외 처리

WebFlux는 Spring Security Interceptor가 없어 Filter에서 토큰 검증을 수행하고 decode된 값을 Handler Function의 Attribute로 넣어주고 있다.
기존 Interceptor는 DispatcherServelet과 Handler 사이에 위치해서 토큰 검증 시 예외가 발생하면 ControllerAdvice에서 처리할 수 있었지만 Filter는 보다 밖에 위치한 컴포넌트여서 에러처리를 위한 Filter를 구현해야 한다.
Ordered

하지만 필터에서 설정된 에러응답은 Filter의 Order에 따라 CORS를 처리하기 위한 응답헤더가 설정되지 않을 수도 있다. 이렇게 되면 브라우저 SOP 정책으로 CORS 가 발생하고 서버응답 또한 무시되니 Axios.Interceptor에서 응답코드 별로 구현한 로직이 정상적으로 동작하지 않게 된다.
원인을 파악하고 CorsFilter를 아래와 같이 Ordered를 최우선으로 설정하니 CORS가 해결되어 Axios.Interceptor가 정상적으로 동작할 수 있게 되었다.

'TIL' 카테고리의 다른 글
TIL - AWS 키워드 정리 (1) | 2023.09.03 |
---|---|
TIL - Jib (0) | 2023.09.02 |
TIL - 쇼핑몰 프로젝트(Plain Old) v1 → v2 8일 차. Fetch 그리고 이모저모 (0) | 2023.08.23 |
TIL - m1에서 Oracle DB 사용하기 (0) | 2023.08.14 |
TIL - 쇼핑몰 프로젝트(Plain Old) v1 → v2 7일 차. 값, 값 검증을 보자. (0) | 2023.08.11 |