문제
서버에서 토큰 만료 시간을 2시간으로 설정해 두었는데, 쿠키에 저장된 토큰여부에 따라 조건부 렌더링을 하다 보니 만료된 토큰이 저장되어 있어도 화면상으로는 로그인 된 것처럼 보임. 설정한 시간이 지나면 쿠키가 자동으로 삭제될 수 는 없을까? 에 대해 고민하게 됨.
시도
공식문서의 옵션 중, expires (Date): absolute expiration date for the cookie를 보고 적용시켜 보았음
const cookies = new Cookies();
const token = 서버에서 보내준 토큰값
const date = new Date();
// 생략
cookies.set("token", token, {path: "/", expires:계산한날짜})
근데 날짜를 계산해서 하기가 너무 힘듦. 아무래도 이 방법이 아닌것같음. 왠지 지금부터 몇시간 후! 이런 설정이 분명 있을 것 같아서 공식문서를 더 찾아봄
const cookies = new Cookies();
const token = 서버에서 보내준 토큰값
cookies.set("token", token, {path: "/", maxAge:7140})
7140초인 이유는 서버에서 토큰 유효 시간을 2시간으로 설정해 줬을 때, 완전히 서버에서 설정한 시간과 같게 하는 것 보다는 1분정도 빨리 쿠키가 삭제되는 편이 더 안전한 것 같았기 때문이다.
참고링크 https://www.npmjs.com/package/universal-cookie?activeTab=readme