[Project] JWT 토큰 관리 전략
프로젝트에서 인증·인가 파트를 맡게 되면서, 이번에는 보안에 특히 신경 써서 최대한 견고한 구조를 구현해 보고 싶었다.이전 프로젝트에서는 액세스 토큰(Access Token)만 발급하고 필터에서 검증하는 수준으로 끝냈다. 그런데 한 번 탈취된 액세스 토큰은 만료될 때까지 여전히 유효하므로, 공격자는 별다른 제약 없이 API를 계속 호출할 수 있다.물론 액세스 토큰의 유효기간을 5~10분 정도로 짧게 설정하면 탈취 위험을 줄일 수 있다. 하지만 매번 짧은 주기로 로그인을 요구하면 사용자 경험이 크게 떨어진다.그래서 유효기간이 긴 리프레시 토큰(Refresh Token)을 함께 발급한다. 액세스 토큰이 만료되면, 클라이언트는 리프레시 토큰을 사용해 새로운 액세스 토큰을 받아오도록 한다.그런데 이 구조에도 치..