피드로 돌아가기
JWT Auth in Express with TS
Dev.toDev.to
Security

HTTP-only Cookie와 Token Rotation 기반의 고보안 JWT 인증 아키텍처 설계

JWT Auth in Express with TS

NHero2026년 5월 23일12intermediate

Context

단일 JWT 토큰 사용 시 발생하는 보안 취약점과 토큰 탈취 시의 무제한 접근 권한 문제를 해결할 필요성 제기. 컨트롤러 전반의 중복 응답 로직으로 인한 코드 유지보수 효율 저하 문제 직면.

Technical Solution

  • Access Token과 Refresh Token의 분리 운영을 통한 세션 유지 및 보안성 강화
  • HTTP-only Cookie를 활용한 XSS 공격 방어 및 클라이언트 측 토큰 노출 차단
  • Mongoose Schema Method 기반의 토큰 생성 및 비밀번호 검증 로직 캡슐화로 모델 중심 설계 구현
  • Mongoose pre-save Middleware를 적용한 비밀번호 자동 Hashing 프로세스 강제화
  • ApiResponse 및 ApiError 클래스 표준화를 통한 API 응답 일관성 확보 및 에러 핸들링 체계 구축
  • Refresh Token Rotation 전략을 통한 기존 토큰 무효화 및 세션 보안 수준 향상

- 비밀번호 해싱 로직을 서비스 레이어가 아닌 DB Middleware 단계에서 처리하여 누락 가능성 제거 - JWT 저장소로 LocalStorage 대신 HTTP-only Cookie를 채택하여 보안 강화 - 표준화된 응답/에러 헬퍼 클래스를 정의하여 컨트롤러 코드의 복잡도 감소 및 일관성 유지 - 토큰 갱신 시 기존 Refresh Token을 삭제하고 신규 토큰을 발급하는 Rotation 메커니즘 검토

원문 읽기