[Spring Boot] Refresh Token

이홍준·2023년 6월 29일
0

Spring Boot

목록 보기
1/11
  1. 사용 이유

    • JWT 인증방식은 공격자가 Access Token을 탈취하는 순간 모든 정보를 다 가져갈수있기 때문에 위험요소가 있다.
    • 위험요소를 줄이기 위해서 토큰 만료 기간을 짧게 한다.
    • 토큰 만료시 다시 로그인해야하는 불편함 때문에 Refresh Token을 통해 Access Token을 갱신해준다.
  2. 저장 방식

    • 기존 DB에 저장
    • 성능을 늘리기위해 Redis에 저장(In-memory, Key-Value)
  3. 재발급 Case

    CaseAccess TokenRefresh TokenAction
    Case 1ExpiredExpiredError, 재로그인
    Case 2ExpiredValidAccess Token 재발급
    Case 3ValidExpiredRefresh Token 재발급
    Case 4ValidValid정상 처리
  4. Refresh Token 인증 과정
    1) 서버에게 API 요청( + Access Token )
    2) 서버에서 Access Token 만료 확인
    3) 클라이언트에게 Access Token 만료 신호
    4) 서버에게 Access Token 재발급 요청(+Access Token , Refresh Token)
    5) 서버에서 Refresh Token 확인후 Access Token 갱신
    6) 클라이언트에게 재발급된 Access Token 반환

profile
I'm a web developer.

0개의 댓글