JWT - Json Web Token은 자체적인 로그아웃 기능(토큰의 회수)가 없기 때문에 로그아웃 기능을 구현하기 위해서는
JWT토큰의 유효시간을 짧게 바꿔줘야했다.
하지만 jwt토큰의 유효시간을 줄여줄려면, 서버에서 처리해 준 후 다시 클라이언트에 response를 보내줘야하고 방법이 복잡하다고 느꼈기 때문에,
jwt로 발급해준 서버 쿠키의 토큰을 삭제하면 로그아웃이 되지 않을까 생각했고
제이쿼리를 이용해서 내 쿠키를 지울 수 있었다.
removeCookie 사용법
jquery removeCookie를 이용하여 내 쿠키의 토큰을 지울 수 있는데
document.cookie로 브라우저 콘솔로 확인해 보면 쿠키값은
"키=value"로 이루어진 걸 확인 할 수있다.
따라서 removeCooke('토큰 키'. {path: '/'}) 를 해주면 된다.
여기서 path는 클라이언트에서 쿠키에 토큰을 생성할 때 설정해준 경로이고, default는 '/' 이고,
브라우저 관리자메뉴 -> application -> cookie 에서 해당 쿠키의 경로를 확인할 수 있다.
function logout() {
$.removeCookie('mytoken', {path: '/'});
window.location.href = '/';
}
아래의 에러가 뜨면 제이쿼리 쿠키 스크립트를 추가로 임포트 시켜주면 해결된다.
Uncaught TypeError: undefined in removeCookie
https://stackoverflow.com/questions/25882347/uncaught-typeerror-undefined-in-removecookie
요고 추가
<script src=" https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
*참고
https://stackoverflow.com/questions/25882347/uncaught-typeerror-undefined-in-removecookie
'JavaScript' 카테고리의 다른 글
[javascript] 웹 페이지 꽃가루 효과 - 반짝반짝 축하 효과 (0) | 2021.10.19 |
---|---|
[JS] javascript(자바스크립트) - 배열 내부 원소 값(문자열) 체크하기 [every(), some() ] (0) | 2021.10.19 |
[Jquery] 자바스크립트 이미지 파일 업로드 시 미리보기 제공하기 (0) | 2021.10.19 |
[JS] 팝업창 닫을 때 이벤트 잡기 ( onbeforeunload - 페이지를 벗어날 때) (2) | 2021.10.18 |
[jquery] toggleCalss - html 클래스 값 제어 (0) | 2021.10.08 |