로고로고

JWT Refresh Token을 활용한 로그인 유지 기능

2025년 7월 3일

위리브 프로젝트 - JWT Refresh Token을 활용한 로그인 유지 기능

 

 

 

 

  1. 로그인 시 토큰 저장
  2. API 요청 시 Access Token 만료 확인
    axios.interceptors.response.use(
      (res) => res,
      async (err) => {
        if (err.response.status === 401) {
          try {
            // AccessToken이 만료되었을 경우 RefreshToken으로 재발급 요청
            await axios.post("/auth/refresh", null, { withCredentials: true });
    
            // 재시도
            return axios(err.config);
          } catch (e) {
            // 재발급 실패 → 로그아웃 처리
            router.push("/login");
            return Promise.reject(e);
          }
        }
        return Promise.reject(err);
      }
    );
  3. 서버에서 Refresh Token 처리