[개발 일지] 게시판(로그인 연장 및 로그아웃)

홍범선·2023년 8월 26일
0

MyStory 개발일지

목록 보기
9/27

로그인 연장 및 로그아웃

사용배경

jwt를 통해 30분간 서버와 클라이언트 간 연결 여부를 타이머를 통해 확인하였고 사용자가 30분 이상 사용할 수 있으므로 연장기능을 구현해야 했다. 또한 언제든지 로그아웃을 할 수 있도록 로그아웃 기능을 구현해야 했다.

로그인 연장

연장은 쉽게 개발하였다. 단순히 토큰을 재발급받고 DB에 로그인 시간을 현재시간으로 UPDATE시켜주면 끝이였다.

1. 로그인 연장 - 클라이언트 refreshToken API 호출


응답 결과로 false가 아닌 값을 받으면 성공적으로 refreshToken을 재발급 받고 DB에 현재시간으로 잘 UPDATE가 된 것이므로 타이머를 다시 렌더링 시켜줘야 한다.

count변수에 의존성을 가지고 있는 useEffect함수를 호출시켜 서버에서 타이머값을 받아와 렌더링시킨다.

2. 서버 refreshToken API


jwt 토큰을 생성하여 클라이언트 cookie에 저장한다.

또한 DB에 저장된 로그인 시간을 현재시간으로 업데이트 시킨다.

로그아웃

로그아웃도 쉬웠다. cookie에 저장된 jwt를 없애주면 끝이였다.

1. 로그아웃 - logout API 호출

2. 서버 logout API


cookie를 초기화 시킨다.

결과

profile
알고리즘 정리 블로그입니다.

0개의 댓글