리프레시 토큰(Refresh Token)이란?
리프레시토큰(rt)은 액세스토큰(at)이 만료되었을 때 새로운 at를 발급받기 위해 사용되는 토큰
일반적으로 at는 짧은 수명을 가지고 있으며, rt는 더 긴 수명을 가지며, DB에 저장
사용자는 rt를 사용하여 만료된 at를 새롭게 갱신(재발급)
rt 사용 이유
보안 강화
rt를 redis 또는 rdb에 담음으로서 토큰 철회(Revocation) 관리가 가능
사용자 경험 개선
사용자가 로그인 상태를 유지하는 동안 백그라운드에서 자동으로 at를 갱신할 수 있으므로, 사용자는 자주 로그인을 할 필요가 없음
Backend
로그인시 at와 rt를 함께 발급
at가 만료되면, rt를 사용하여 at를 발급
rt까지 만료되거나 유효하지 않은 경우, 사용자는 다시 로그인
Frontend
로그인 시 at와 rt를 로컬 스토리지에 저장
각 요청마다 at를 사용하여 요청
at 토큰이 만료된 경우 rt를 사용하여 새로운 at를 발급
rt까지 유효하지 않을경우, 사용자를 로그인 페이지로 리다이렉트
redis 설치 및 사용
redis에 키:값 으로 필요 데이터 저장
레디스 실행
docker run -d --name redis -p 6379:6379 redis
레디스 접속
docker exec -it 컨테이너ID redis-cli
레디스 DB 선택
select 0(디비번호)
key값 확인
keys *