이메일 인증 기반 회원가입 기능
이메일 인증번호 발송 API
이메일 중복확인 API를 거친 이메일에 한해,
(1) Math.random()으로 6자리 랜덤 인증번호 생성
(2) jsonwebtoken으로 토큰을 생성하고 만료시간을 3분으로 설정
(3) redis에 토큰값을 set하고 expire시간을 4분으로 설정
(4) config폴더에서 nodemailer로 transport 객체를 생성하고 user service단에서 이를 import하여 메일 content 작성 후 발송
이메일 인증번호 검증 API
(1) client에서 email과 code를 받아옴
(2) redis에서 set해둔 이메일토큰값을 get
(2-1) key값이 없다면 인증시간이 만료됐다는 에러메시지
(2-2) 있다면 jwt verify를 한 후 client에서 입력된 인증번호 값과 Redis에 저장됐던 값 대조
(2-2-1) 일치하지 않으면 일치하지 않는다는 에러메시지
(2-2-2) 일치한다면 이메일 인증에 성공하였다는 메시지
완성본과... 보기만해도 기분좋았던, 힘이나는 유저피드백
회원가입 이메일 인증번호 Nodemailer + Redis
Nodemailer로 사용자에게 메일보내기
NodeJs - 이메일 인증 (nodemailer)
[Node.js] Nodemailer로 이메일 전송하기 with Gmail
Redis Crash Course
[REDIS] 📚 Node.js 에서 redis 모듈 사용법 (캐싱 & 세션 스토어)