Skip to content

Conversation

@DDINGJOO
Copy link
Owner

목적

SMS 인증 API에서 전화번호를 URL Path Parameter에서 Request Body로 이동하여 보안을 강화합니다.

문제점

기존 엔드포인트에서 전화번호가 URL에 노출되어 다음과 같은 보안 위험이 있었습니다:

  • 서버 액세스 로그에 기록
  • 브라우저 히스토리에 노출
  • 프록시/로드밸런서 로그에 기록
  • Referrer 헤더로 유출 가능

변경 사항

Before

POST /api/v1/auth/sms/{userId}/{phoneNumber}
GET  /api/v1/auth/sms/{userId}/{phoneNumber}?code={code}
PUT  /api/v1/auth/sms/{userId}/{phoneNumber}

After

POST /api/v1/auth/sms/request   (Body: userId, phoneNumber)
POST /api/v1/auth/sms/verify    (Body: userId, phoneNumber, code)
POST /api/v1/auth/sms/resend    (Body: userId, phoneNumber)
GET  /api/v1/phone-number/{userId}  (휴대폰 등록 여부 확인)

수정된 파일

파일 변경 내용
dto/request/SmsCodeRequest.java 인증 코드 요청/재발신용 DTO 추가
dto/request/SmsVerifyRequest.java 인증 확인용 DTO 추가
controller/SmsConfirmController.java Request Body 방식으로 변경
controller/PhoneNumberController.java 휴대폰 번호 등록 여부 확인 API 추가
service/auth_service/AuthService.java hasPhoneNumber 메서드 추가

테스트

  • 빌드 성공
  • 모든 테스트 통과

관련 이슈

Closes #77

@DDINGJOO DDINGJOO merged commit d3063e2 into main Dec 14, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FIX] SMS 인증 API 보안 개선 - 전화번호를 Request Body로 이동

2 participants