-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
✨ 리팩토링 대상
디바이스 인증 로직 (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 필드 제거
-
@AuthDeviceArgumentResolver 적용 - 서비스 레이어 중복 인증 로직 제거
-
getResolvedIdentifierfallback 코드 제거
📕 래퍼런스
- Spring HandlerMethodArgumentResolver
- RESTful API 인증 패턴 (Authorization Header)
Metadata
Metadata
Assignees
Labels
♻️ refactor리팩토링리팩토링