Session/Cookies/Token Access Token(JWT)를 통한 인증 방식의 문제는 만일 제 3자에게 탈취당할 경우 보안에 취약하다. 유효기간이 짧은 Token의 경우 그만큼 사용자는 로그인을 자주 해서 새롭게 Token을 발급받아야 하므로 불편하다.
그러나 유효기간을 늘리자면, 토큰을 탈취당했을 때 보안에 더 취약해지게 된다. “그러면 유효기간을 짧게 하면서 좋은 방법이 있지는 않을까?”
라는 질문의 답이 바로 "Refresh Token"인 것이다. Refresh Token은 Access Token과 똑같은 형태의 JWT이다.
처음에 로그인을 완료했을 때 Access Token과 동시에 발급되는 Refresh Token은 긴 유효기간을 가지면서, Access Token이 만료됐을 때 새로 발급해주는 열쇠가 된다. (여기서 만료라는 개념은 그냥 유효기간을 지났다는 의미) 예를들어, Refresh Token의 유효기간은 2주, Access Token의 유효기간은 1시간이라...
원문 링크 : JwtToken/RefreshToken 구현