Access Token과 Refresh Token

왱구·2024년 3월 21일

스터디

목록 보기
16/21

참조
https://puleugo.tistory.com/154
https://hudi.blog/refresh-token/

1. Access Token

  • 리소스에 접근하기 위해서 사용되는 토큰
  • 재발급 시 로그인 필요
  • 보안적 측면에서 만료시간이 필요한데
    • 만료시간을 짧게 가지면 재로그인을 자주 해야함
    • 만료시간을 길게 가지면 보안문제 발생
      • 탈취 당했을때 유저의 모든 권한을 탈취자가 가짐
      • 탈취 당했다고 하더라도 토큰 자체를 파기할 수 없음

2. Refresh Token

  • Access Token의 문제점을 방지하기 위해 생겨남
  • 기존에 클라이언트가 가지고 있던 Access Token이 만료되었을 때 Access Token을 새로 발급받기 위해 사용
  • Refresh Token을 사용하여 Access Token을 갱신하여 재로그인 주기를 늘림
  • Access Token의 만료시간을 짧게 함으로서 보안문제 방지

1) Refresh Token의 흐름

  1. 클라이언트가 로그인을 요청하고 성공하면, 서버는 Access Token과 Refresh Token을 함께 제공
  2. 이후 클라이언트는 인가가 필요한 요청에 Access Token을 실어 보냄
  3. 시간이 조금 흘러 Access Token이 만료 되었다면, 클라이언트는 Refresh Token을 서버로 전달하여 새로운 Access Token을 발급

하지만 Refresh Token도 탈취 우려가 있기 때문에 이를 예방하기 위한 여러가지 Refresh Token 전략이 존재

profile
늦깎이 애아빠 개발지망생

0개의 댓글