isLogin = false로 변경해야하는데,
isLogin = false를 인터셉터 안에서는 호출할 수 없어서 어떻게 처리해야할지 고민입니다.
일단, 전역상태값은 새로고침 시 초기값이 되기에, (3) refresh 제거 api 호출 후, 새로고침 시켜뒀습니다.
하지만 이럴 경우에, 토큰 재발급 api를 불필요하게 호출하게 됩니다.
(로그인 후에 다시 재방문했을 때, 로그인 후의 페이지를 보여주기 위해 최상단에서 토큰 재발급 api를 호출하기 때문입니다)
@kimyoungyin 영인님이 제안주신 customAxios(토큰재발급을 호출하는 axios 인스턴스)에 인터셉터를 이용하는 방법도 생각해봤습니다.
그래도, 인터셉터 내에서는 전역상태값 접근이 안되다보니.. customAxios에서 처리해야하는 이유는 찾지못했습니다 😢
관련 이슈
https://github.com/Instagram-Clone-Coding/React_instagram_clone/issues/71
작업사항
(코드를 통한 로그인은 url query값을 이용해 호출한 후, home 페이지를 보여줘야하기에 url 을 /(루트)로 바꾸는 로직 추가함)
주요 변경 로직
자세한건 노션의 관리브랜치 > 유저인증 > done 토글 탭을 참고 부탁드립니다.
고민
파일:
src > customAxios.ts
일단, 전역상태값은 새로고침 시 초기값이 되기에, (3) refresh 제거 api 호출 후, 새로고침 시켜뒀습니다. 하지만 이럴 경우에, 토큰 재발급 api를 불필요하게 호출하게 됩니다. (로그인 후에 다시 재방문했을 때, 로그인 후의 페이지를 보여주기 위해 최상단에서 토큰 재발급 api를 호출하기 때문입니다)
@kimyoungyin 영인님이 제안주신 customAxios(토큰재발급을 호출하는 axios 인스턴스)에 인터셉터를 이용하는 방법도 생각해봤습니다. 그래도, 인터셉터 내에서는 전역상태값 접근이 안되다보니.. customAxios에서 처리해야하는 이유는 찾지못했습니다 😢