Skip to content

토큰 갱신 API 구현 #26

Description

@wooxexn

1. 구분

  • BackEnd
  • Infra
  • ETC

2. 대분류

  • feat
  • refactor
  • settings
  • etc

3. 작업의 주 내용에 대해서 작성해주세요

토큰 갱신 API 개발 - RTR(Refresh Token Rotation) 패턴 적용

4. 세부 작업에 대해서 작성해주세요

토큰 갱신 DTO 구현

  • TokenRefreshRequestDto 생성 (리프레시 토큰 요청 데이터)
  • TokenRefreshResponseDto 생성 (토큰 갱신 응답 데이터)
  • 내부 UserInfo 클래스 구현 (사용자 기본 정보)

토큰 갱신 서비스 로직 구현

  • UserService.refreshToken() 메서드 구현
  • RTR(Refresh Token Rotation) 패턴 적용
  • 리프레시 토큰 유효성 검증 로직
  • 토큰 타입 확인 (리프레시 토큰 여부)
  • DB 토큰 존재 여부 및 만료 검증
  • 실시간 사용자 상태 확인 (탈퇴/정지 사용자 차단)
  • 기존 토큰 무효화 및 새 토큰 발급

Repository 확장

  • RefreshTokenRepository에 findByTokenAndDeletedAtIsNull() 메서드 추가
  • 소프트 삭제 패턴 지원 (삭제되지 않은 토큰만 조회)

API 컨트롤러 구현

  • AuthController 생성 (토큰 관련 API 전용)
  • POST /v1/auth/refresh 엔드포인트 구현
  • 요청 유효성 검증 (@Valid 적용)
  • Authorization 헤더 설정 (새로운 액세스 토큰)
  • 에러 응답 처리 (401 Unauthorized, 404 Not Found)

보안 강화

  • RTR 패턴으로 토큰 재사용 방지
  • 만료된 토큰 자동 삭제
  • 탈퇴한 사용자 토큰 무효화
  • JWT 서명 검증 및 토큰 타입 확인

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions