JWT 기반 인증을 구현하다 보면 자연스럽게 Access Token과 Refresh Token을 나누는 구조를 접하게 됩니다. 처음에는 단순히 이렇게 생각할 수 있습니다.
“JWT 하나만 발급해서 쓰면 되는 것 아닌가?” 실제로 로그인 후 JWT를 하나 발급하고, 클라이언트가 API 요청마다 이 토큰을 보내도록 만들면 인증 자체는 동작합니다.
서버는 토큰을 검증하고, 사용자를 식별한 뒤 요청을 처리할 수 있습니다. 하지만 실무에서는 인증이 단순히 “로그인 여부 확인”으로 끝나지 않습니다.
토큰이 탈취되었을 때 어떻게 할 것인지, 사용자가 계속 로그인 상태를 유지해야 하는지, 로그아웃이나 강제 만료를 어떻게 처리할 것인지, 보안과 사용성 사이에서 어떤 기준을 가져갈 것인지까지 함께 고민해야 합니다. 이 글에서는 JWT 기반 인증에서 Access Token과 Refresh Token을 왜 나누는지, 그리고 두 토큰을 나눌 때 어떤 설계 판단이 필요한지 정리해보겠습니다. 1.
JWT 하나...