사용자 편의

accessToken만 사용하면 accessToken의 유효시간은 주로 짧게 하기 때문에 사용자가 계속 재 로그인 해야 하는 일이 생기게 됩니다.

보안 강화

그런데 생각해 보면 refreshToken이 도난당해도 그걸 이용해서 accessToken을 생성해서 사용할 수 있는데 이게 똑같은 것 아닌가요? 맞습니다. Refresh Token도 도난당하면 해커가 그것을 이용해서 악의적인 행동을 할 수 있습니다. 하지만 RefreshToken의 도난 확률이 AccessToken보다 낮습니다. 해커가 요청이 올 때 요청에서 refreshToken이나 accessToken을 해킹한다고 하면 accessToken은 요청마다 계속 왔다 갔다 하지만 refreshToken은 accessToken을 갱신할 때만 왔다 갔다 하기 때문에 도난 확률이 훨씬 낮게 됩니다.

refreshToken이 유출 됐을 경우를 위한 추가 기능 구현

https://auth0.com/blog/refresh-tokens-what-are-they-and-when-to-use-them/