일반 로그인 후 로그아웃은 문제가 없지만, 로그인 후 아티스트로 등록하면 로그아웃시 쿠키가 삭제되지 않는 이슈가 있었다.
/** 로그아웃 및 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 });
};
'Ez to Play - Project > Error Note' 카테고리의 다른 글
[Ez to Play / Error Note] 이미지 태그로 감쌌을 때 생기는 공백 문제 (0) | 2023.09.22 |
---|---|
[Ez to Play / Error Note] React Hook Form 사용중 xxx.current에서 타입에러 (0) | 2023.07.08 |
[Ez to Play / Error Note] ESLint - 'process' is not defined (0) | 2023.07.08 |
[Ez to Play / Error Note] React Hook Form 사용시 ref={register}에서 에러나면 (0) | 2023.07.08 |