[Ez to Play / Error Note] 로그아웃시 쿠키 삭제 안 되는 문제

일반 로그인 후 로그아웃은 문제가 없지만, 로그인 후 아티스트로 등록하면 로그아웃시 쿠키가 삭제되지 않는 이슈가 있었다. 

 

  /** 로그아웃 및 main으로 페이지 이동 */
  const logoutHandler = () => {
    removeCookie('accessToken');
    removeCookie('refreshToken');
    removeCookie('userInfo');
    alert('[로그아웃 성공] 로그아웃 되었습니다');
    navigate('/');
  };

 

removeCookie는 잘 들어가 있는데...

 

react-cookie에서 못 찾은 답을 js-cookie에서 찾았다.

 

 

쿠키를 삭제할 때 기본 속성이 아닌 쿠키는 쿠키를 set 할 때 지정한 속성과 동일한 경로와 도메인을 넣어줘야 한다고 important! 까지 찍어 적혀있다. 나는 쿠키를 set 할 때 path 속성을 넣었었다.

 

 /** 로그아웃 및 main으로 페이지 이동 */
  const logoutHandler = () => {
    removeCookie('accessToken', { path: '/' });
    removeCookie('refreshToken', { path: '/' });
    removeCookie('userInfo', { path: '/' });
    alert('[로그아웃 성공] 로그아웃 되었습니다');
    navigate('/');
  };

 

이렇게 바꾸니 문제 없이 작동한다.

 

+

// 쿠키설정

import { Cookies } from 'react-cookie';

const cookies = new Cookies();

/** 로그인시 쿠키에 토큰 저장할 때 사용 */
export const setCookie = (name: string, value: string, option: any) => {
  return cookies.set(name, value, { ...option });
};

/** 쿠키를 가지고 있는지 여부 확인(로그인되어있는지) */
export const getCookie = (name: string) => {
  return cookies.get(name);
};

/** 쿠키 삭제할 때 사용(ex로그아웃) */
export const removeCookie = (name: string, option?: any) => {
  return cookies.remove(name, { ...option });
};