AccessToken은 사용자의 로그인 정보를 담아주는 데이터입니다.
이 데이터는 일정 시간 동안만 사용할 수 있는 만료기간이 정해져 있습니다.
만료기간이 지나고 사용자가 로그인 정보가 필요한 페이지에 접근하려고 할 때
새로운 AccessToken을 받아오는 과정을 Refresh Token이라고 합니다.
자, 예를 들어볼까요?
사용하려고 하는 페이지에 로그인을 했다면
서버로부터 내 정보가 담겨 있는 AccessToken을 받아올 수 있겠죠?
이 AccessToken을 1시간 동안만 사용할 수 있다고 가정했을 때
1시간 동안은 AccessToken이 유지가 되어 있다가, 1시간 1분이 되자마자
발급받은 AccessToken은 시간 만료로 인해 사용할 수 없는 토큰이 되어버립니다.
그럼, 새로운 AccessToken을 발급받기 위해 다시 로그인을 진행해야 하는데
1시간마다 로그인을 해야 한다면 사용자 입장에서는 엄청난 불편함을 느끼게 되겠죠?
이런 불편함을 해결하기 위해서,
AccessToken을 발급할 때 RefreshToken이 함께 발급되고
AccessToken이 1시간 후에 만료 되는 시점에서, RefreshToken을 통해서
로그인 과정 없이 새로운 AccessToken을 받아올 수 있게 됩니다.
단, RefreshToken 역시 만료 기간이 있기 때문에
RefreshToken의 만료 기간이 지나게 된다면 이때는
다시 로그인을 진행해 새로운 RefreshToken을 가져오는 과정이 필요합니다.