• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    해결됨

인터셉터를 사용하는 이유에 대해서 질문 드립니다.

21.01.13 17:45 작성 조회수 407

1

안녕하세요.

[actions 속성을 이용한 로그인 기능 구현과 비동기 처리시 유의할 점] 강의까지 듣고 질문 드립니다.

페이지를 새로고침 하더라도 token 값을 유지할 수 있도록 Cookies를 이용하는 것은 이해를 했습니다.

그런데 인터셉터를 이용해서 HTTP 요청을 하기 전에 token 값을 싣는 과정의 필요성에 대해서 의문이 드는데요.

--------

인터셉터 이용하지 않고 아래와 같이 진행해도 되지 않나요?

1. [store/index.js] Cookies에 있는 token 값을 가져와서 Store에 저장하고 Cookies에 token이 없으면 빈 문자열로 초기화

2. [api/index.js] Store에 저장되어 있는 token 값을 가져와서 axios 인스턴스의 headers Authorization에 설정

--------

어차피 인터셉터에서도 Store에 저장되어 있는 token값을 가져와서 API를 호출하기 직전에 headers Authorization에 설정하는 것인데 

굳이 인터셉터에서 하지 않고 api/index.js 에서 설정해줘도 되지 않을까라는 생각이 듭니다.

감사합니다.

답변 4

·

답변을 작성해보세요.

1

그렇군요! 네, 답변 감사드립니다 :)

1

네 좋은 후속 질문이네요! 인터셉터가 API 요청마다 토큰이 바뀌거나 토큰이 만료되는 케이스에 대해서 더 처리하기가 수월하실겁니다 :)

1

답변 감사드립니다.

인터셉터를 사용하는 방식이 인스턴스의 커스텀 헤더 속성을 사용하는 방식에 비해 어떤 점이 장점이라고 생각하시나요?

인터셉터를 사용함으로써 어떤 예외상황에 대비할 수 있다거나...

강사님이 인터셉터를 소개하신 이유가 있을 것 같은데요.

그 점에 대해서 알려주실 수 있나요? :)

감사합니다.

1

안녕하세요 개발자계정님, 좋은 질문 주셨네요. 말씀하신 방식대로 인스턴스의 커스텀 헤더 속성을 이용해서 하셔도 상관 없습니다 :) 아마 제가 인터셉터를 설명 드리기 전에 커스텀 헤더 속성을 이용한 토큰 방식도 안내를 드렸을 거에요. 편하신 방식을 선택해서 사용하시면 될 것 같습니다 :)