Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
진행 내용
이메일을 입력하면 인증 코드가 메일로 전송되는 기능 추가
회원가입 시 인증 코드 검증 추가
사용자 이메일 인증 여부 확인 API 추가
사용자 비밀번호 재설정 기능 추가
사용자 인증을 위해 이메일 인증을 도입하였습니다.
이메일 인증은 서버에서 6자리 난수를 인증 코드로 생성하여 Redis에 저장하고, 이를 이메일로 전송합니다.
이메일 전송은 nodemailer를 이용하였습니다.
기존 회원가입 API에서 인증 코드를 추가하여, 이전 단계에서 Redis에 저장된 인증 코드와 비교하여 검증하도록 하였습니다.
비밀번호 찾기 기능을 위해, 기존에 가입한 이메일을 통해 인증 단계를 거치고 비밀번호를 재 설정 할 수 있도록 하였습니다.
기존에 가입한 이메일을 통해 인증 코드 전송 요청을 하고, 이후 인증 코드를 입력하여 인증 요청을 하면 성공할 경우 토큰을 반환해줍니다.
이 토큰과 함께 새로운 비밀번호로 비밀번호 재 설정 요청을 하면 해당 요청을 수행합니다.
이메일 인증 코드 전송의 경우, 무분별한 남발을 방지하기 위해 계정 별로 1일 5회로 제한하였습니다.
인증 코드의 유효 기간은 3분이며, 비밀번호 재 설정 시 토큰의 유효 기간은 5분 입니다.