Ez to Play - Project/Error Note
[Ez to Play / Error Note] 로그아웃시 쿠키 삭제 안 되는 문제
화난도깨비
2023. 7. 26. 02:59
일반 로그인 후 로그아웃은 문제가 없지만, 로그인 후 아티스트로 등록하면 로그아웃시 쿠키가 삭제되지 않는 이슈가 있었다.
/** 로그아웃 및 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 });
};