Skip to content

인증 정보 헤더 분리 및 중복 로직 제거 #45

@jhan0121

Description

@jhan0121

✨ 리팩토링 대상

디바이스 인증 로직 (identifier 전달 방식)

  • ReviewController, DeviceController, MemberController
  • 관련 서비스 레이어의 중복 인증 로직

📢 리팩토링 이유

  • 여러 서비스에서 디바이스 조회 + 검증 로직이 반복됨
  • 인증 정보가 비즈니스 데이터와 혼재되어 있음
  • Authorization 헤더처럼 인증 정보는 HTTP 헤더로 분리하는 것이 RESTful 설계에 부합하다고 판단

리팩토링 기능 명세

Phase 1: 서버 - 헤더/Body 병행 지원

  • 컨트롤러에 X-Device-Id 헤더 수신 로직 추가
  • 헤더 우선, Body fallback 처리 (getResolvedIdentifier)
  • 헤더 방식 테스트 코드 추가
  • Swagger 문서에 헤더 파라미터 반영

Phase 2: 클라이언트 - 헤더 방식 전환

  • Body에서 identifier 제거
  • 요청 시 X-Device-Id 헤더 추가
  • 앱스토어 승인 및 배포

Phase 3: 서버 - 레거시 제거 및 ArgumentResolver 적용

  • Body의 identifier 필드 제거
  • @AuthDevice ArgumentResolver 적용
  • 서비스 레이어 중복 인증 로직 제거
  • getResolvedIdentifier fallback 코드 제거

📕 래퍼런스

  • Spring HandlerMethodArgumentResolver
  • RESTful API 인증 패턴 (Authorization Header)

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions