feat: 이메일 인증 API
Closed this issue · 0 comments
soeunkk commented
📌 이슈 내용
인증 메일을 전송하는 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에서 인증 완료된 메일인지 검사하는 로직 추가해야 함