@@ -15,7 +15,7 @@ axiosInstance.interceptors.request.use(
1515 // 토큰이 있으면 요청 헤더에 추가
1616 if ( token ) {
1717 config . headers . Authorization = `Bearer ${ token } ` ;
18- console . log ( '요청 헤더에 Authorization 추가됨:' , config . headers ) ;
18+ // console.log('요청 헤더에 Authorization 추가됨:', config.headers);
1919 }
2020 return config ;
2121 } ,
@@ -26,31 +26,29 @@ axiosInstance.interceptors.request.use(
2626) ;
2727
2828// 응답 인터셉터
29- // axiosInstance.interceptors.response.use(
30- // (response) => response,
31- // async (error) => {
32- // console.log('응답 인터셉터');
33- // // 응답 에러 처리
34- // const originalRequest = error.config; // 실패한 요청 정보 저장
35- // console.log('요청 실패:', originalRequest);
36- // if (!originalRequest) return Promise.reject(error); // 요청 정보 자체가 아예 없을 경우 종료
29+ axiosInstance . interceptors . response . use (
30+ ( response ) => response ,
31+ async ( error ) => {
32+ // 응답 에러 처리
33+ const originalRequest = error . config ; // 실패한 요청 정보 저장
3734
38- // // AT 토큰 만료 시
39- // if (error.response.status === 403 && !originalRequest._retry) {
40- // originalRequest._retry = true; // 재시도 방지
35+ // AT 토큰 만료 시
36+ if ( error . response . status === 401 && ! originalRequest . _retry ) {
37+ originalRequest . _retry = true ; // 재시도 방지
4138
42- // console.log('토큰 만료', originalRequest);
43- // try {
44- // await reissueToken(); // 토큰 재발급 요청
45- // return axiosInstance(originalRequest); // 원래 요청 다시 시도
46- // } catch (error) {
47- // console.error('AT 토큰 재발급 실패:', error);
48- // return Promise.reject(error);
49- // }
50- // }
51- // return Promise.reject(error);
52- // },
53- // );
39+ try {
40+ await reissueToken ( ) ; // 토큰 재발급 요청
41+ return axiosInstance ( originalRequest ) ; // 원래 요청 다시 시도
42+ } catch ( error ) {
43+ useAuthStore . persist . clearStorage ( ) ;
44+ console . error ( 'AT 토큰 재발급 실패:' , error ) ;
45+
46+ return Promise . reject ( error ) ;
47+ }
48+ }
49+ return Promise . reject ( error ) ;
50+ } ,
51+ ) ;
5452
5553// .env에 추가하기
5654// VITE_API_URL=http://43.203.98.65:8080
0 commit comments