DevTraces/BackEnd

feat: 이메일 인증 API

Closed this issue · 0 comments

📌 이슈 내용

인증 메일을 전송하는 API와 인증 코드를 확인하는 API를 개발한다.
주의) 프론트에서는 "인증 코드"라고 부르지만 백엔드에서는 인증키인 "auth-key"로 네이밍하여 관리한다.

결정해야 할 이슈

  • 사용자가 동일한 이메일로 "코드 재전송" 버튼을 누른다면 허용해야 하는가?
  • 인증 코드의 유효 시간

📝 To-do

  • 인증 메일 전송 API
    • arterest로 gmail 계정 만들고 smtp 설정
    • spring mail 라이브러리 추가
    • 메일 전송 유틸 구현
    • 이메일 정보가 DB에 없음을 확인 ((Redis 확인은 보류))
    • 인증 코드 생성
    • 이메일 전송
    • Redis에 10분의 유효 기간으로 (AK:이메일, 인증 코드) 추가
  • 인증 코드 확인 API
    • 이메일 정보가 DB에 없음을 확인
    • 이메일 정보를 통해 Redis에 저장된 인증 코드 꺼내기
    • 입력한 인증 코드와 일치하는 지 확인
    • 일치하면 Redis에 인증 완료된 메일을 저장 (AS:이메일, o)
    • 일치 여부를 클라이언트에게 반환
  • 테스트 코드 작성

🤝 관련 이슈

  • #16
    : 이메일 인증 API 구현 후 회원가입 Service에서 인증 완료된 메일인지 검사하는 로직 추가해야 함