Skip to content

[FEAT] 이메일 인증 코드 발송 1차 구현 #22

Description

@Oh-Jisong

🚀 기능 설명

  • 회원가입 및 비밀번호 재설정 과정에서 사용할 이메일 인증 코드 발송 기능 구현
  • POST /api/auth/email/send API를 추가
  • 요청한 이메일과 인증 목적에 따라 6자리 인증 코드를 생성하고 Redis에 저장
  • 회원가입 목적일 경우 이미 가입된 이메일인지 확인
  • 범위를 작게 유지하기 위해 이번 이슈에서는 실제 이메일 발송은 하지 않고 인증 코드를 로그로 확인할 수 있도록 구현
  • 이메일 인증 코드 검증 API, 회원가입 API와 인증 코드 검증 연동, 비밀번호 재설정 전체 구현은 제외

🏆 작업 목록

  • EmailVerificationSendRequest DTO 생성
  • EmailVerificationSendResponse DTO 생성
  • 이메일 형식 검증
  • 인증 목적 purpose 검증
  • signup 목적일 경우 이메일 중복 확인
  • 6자리 숫자 인증 코드 생성
  • Redis에 인증 코드 저장
  • 인증 코드 만료 시간 180초 적용
  • 재발송 제한 시간 60초 적용
  • 60초 이내 재요청 시 429 에러 반환
  • AuthService에 이메일 인증 코드 발송 메서드 구현
  • AuthController에 POST /api/auth/email/send 엔드포인트 추가
  • 이메일 인증 관련 ErrorCode 추가
  • SecurityWhitelist에 인증 제외 경로 추가
  • Swagger에서 이메일 인증 코드 발송 API 테스트
  • 기존 회원가입 기능 정상 동작 확인

🔗 참고 자료

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
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