[REACTJS] Axios의 인터셉터 응답 토큰 새로 고침 API 호출하지만 토큰 refreshToken의 API 및 LATOR 모든 API에 관계없이 만료하기
REACTJSAxios의 인터셉터 응답 토큰 새로 고침 API 호출하지만 토큰 refreshToken의 API 및 LATOR 모든 API에 관계없이 만료하기
해결법
-
1.일반적 흐름은 같은되어야합니다 :
일반적 흐름은 같은되어야합니다 :
코드 그래서해야이 같은 모습 (이것은 내 응용 프로그램에서 작동하는 예입니다)
function isUnAuthorizedError(error) { return error.config && error.response && error.response.status === 401; } function shouldRetry(config) { return config.retries.count < 3; } function updateAuthToken(response) { localStorage.setItem('token', response.data.accessToken); } async function authInterceptor(error) { error.config.retries = error.config.retries || { count: 0, }; if (isUnAuthorizedError(error) && shouldRetry(error.config)) { const response = await axios.post(`/token/refresh`, {}); updateAuthToken(response); error.config.retries.count += 1; axios.defaults.headers.common.Authorization = `Bearer ${response.data.accessToken}`; // update the accessToken return axios.rawRequest(error.config); // retries the original request } return Promise.reject(error); } axios.interceptors.response.use(null, authInterceptor); // This indicates that authInterceptor will work only on request errors (status code >= 400)
이 흐름이 더 의미가 있습니다 기대하고있다.
from https://stackoverflow.com/questions/58909095/axios-interceptor-response-token-refresh-api-called-but-getting-token-is-expired by cc-by-sa and MIT license
'REACTJS' 카테고리의 다른 글
[REACTJS] 자바 스크립트 문자열에 반대 약속을 변환 (0) | 2020.11.13 |
---|---|
[REACTJS] Axios의 요청 오류 SSL 연결 오류가 JS 반응 (0) | 2020.11.13 |
[REACTJS] 반응-탐색에 우리는 어떻게 행동의 특정 유형을 부릅니까? (0) | 2020.11.13 |
[REACTJS] 어떻게 로컬로 제공 JSON 파일의 웹 서비스 엔드 포인트를 만들 수 있습니다 (0) | 2020.11.13 |
[REACTJS] 구성 요소를 여러 번에 React.js 렌더링 (0) | 2020.11.13 |