jwt를 통해 30분간 서버와 클라이언트 간 연결 여부를 타이머를 통해 확인하였고 사용자가 30분 이상 사용할 수 있으므로 연장기능을 구현해야 했다. 또한 언제든지 로그아웃을 할 수 있도록 로그아웃 기능을 구현해야 했다.
연장은 쉽게 개발하였다. 단순히 토큰을 재발급받고 DB에 로그인 시간을 현재시간으로 UPDATE시켜주면 끝이였다.
응답 결과로 false가 아닌 값을 받으면 성공적으로 refreshToken을 재발급 받고 DB에 현재시간으로 잘 UPDATE가 된 것이므로 타이머를 다시 렌더링 시켜줘야 한다.
count변수에 의존성을 가지고 있는 useEffect함수를 호출시켜 서버에서 타이머값을 받아와 렌더링시킨다.
jwt 토큰을 생성하여 클라이언트 cookie에 저장한다.
또한 DB에 저장된 로그인 시간을 현재시간으로 업데이트 시킨다.
로그아웃도 쉬웠다. cookie에 저장된 jwt를 없애주면 끝이였다.
cookie를 초기화 시킨다.