기존에는 액세스 토큰과 리프레시 토큰 2개 모두 쿠키에 httpOnly 형태로 저장을 했었으나, 액세스 토큰 자체에 대한 접근이 불가할 경우 클라이언트의 요청에 어려움이 있었습니다. 결과적으로 액세스 토큰은 그냥 헤더에 넣어주고, 리프레시 토큰만 쿠키에 넣도록 방식을 변경했습니다.
이에 따라 액세스 토큰의 만료 시간을 30분 ~ 1시간으로 짧게 설정하였습니다.
리프레시 토큰을 쿠키에 httpOnly 형태로 저장하면 탈취를 막을 수 있습니다. 하지만 만에 하나 어떠한 방법으로 리프레시 토큰이 탈취가 되어도, 위험성을 최대한 줄이기 위해 RTR(Refresh Token Rotation) 방식을 도입했습니다.
이 방법은 리프레시 토큰을 이용해서 액세스 토큰을 재발급 할 때 리프레시 토큰을 새 것으로 교체해서 탈취된 리프레시 토큰의 무한한 악용을 피할 수 있습니다.
✨ 관련 이슈
✅ 작업 상세 내용
📌 특이사항
httpOnly
형태로 저장을 했었으나, 액세스 토큰 자체에 대한 접근이 불가할 경우 클라이언트의 요청에 어려움이 있었습니다. 결과적으로 액세스 토큰은 그냥 헤더에 넣어주고, 리프레시 토큰만 쿠키에 넣도록 방식을 변경했습니다.httpOnly
형태로 저장하면 탈취를 막을 수 있습니다. 하지만 만에 하나 어떠한 방법으로 리프레시 토큰이 탈취가 되어도, 위험성을 최대한 줄이기 위해RTR(Refresh Token Rotation)
방식을 도입했습니다.📃 참고 레퍼런스