Access Token

보호된 정보들에 접근할 수 있는 인증에 사용 (권한부여)

Refresh Token

access Token 재발급 할 때 사용

Refresh Token 사용하는 이유

Access Token 보안취약 문제로 access token의 만료기간을 짧게 주고 오랫동안 사용할 수 없도록 한다. 이때 access token이 만료되어 재로그인 해야 하는 불편함을 줄이기 위해 refresh token을 사용하여 일정시간 후 자동으로 access token을 재발급한다.

과정

  1. 로그인 시 서버는 클라이언트에게 Access Token과 Refresh Token을 동시에 발급
  2. 서버는 데이터베이스에 Refresh Token을 저장, 클라이언트는 Access Token과 Refresh Token을 로컬 스토리지에 저장하고 요청이 있을 때 마다 이 둘을 헤더에 담아서 보낸다. (Access Token은 짧은 기간, Refresh Token은 긴 기간 유효)
  3. 재발급 과정 Access Token 만료 시(만료된 Access Token을 서버에 보내면), 서버는 같이 보내진 Refresh Token을 DB에 있는 것과 비교해서 일치하면 다시 Access Token을 재발급한다. 즉, Refresh Token 접근에 대한 권한을 주는 것 X / Access Token 재발급에만 관여

코드

1. 인터셉터 설정

모든 응답과 오류를 가로채서 특정 로직을 수행

axios.interceptors.response.use → 응답 인터셉터를 설정

성공 응답 처리😊

받은 응답을 그대로 반환

// 응답 인터셉터 설정
    const interceptor = axios.interceptors.response.use(
      response => {
        // 성공적인 응답 처리
        return response;
      },