Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

사용자 이메일 인증, 비밀번호 재설정 추가 #255

Merged
merged 9 commits into from
Feb 26, 2024

Conversation

Muungi
Copy link
Collaborator

@Muungi Muungi commented Feb 25, 2024

진행 내용

  • 이메일을 입력하면 인증 코드가 메일로 전송되는 기능 추가

  • 회원가입 시 인증 코드 검증 추가

  • 사용자 이메일 인증 여부 확인 API 추가

  • 사용자 비밀번호 재설정 기능 추가

  • 사용자 인증을 위해 이메일 인증을 도입하였습니다.

  • 이메일 인증은 서버에서 6자리 난수를 인증 코드로 생성하여 Redis에 저장하고, 이를 이메일로 전송합니다.

  • 이메일 전송은 nodemailer를 이용하였습니다.

  • 기존 회원가입 API에서 인증 코드를 추가하여, 이전 단계에서 Redis에 저장된 인증 코드와 비교하여 검증하도록 하였습니다.

  • 비밀번호 찾기 기능을 위해, 기존에 가입한 이메일을 통해 인증 단계를 거치고 비밀번호를 재 설정 할 수 있도록 하였습니다.

  • 기존에 가입한 이메일을 통해 인증 코드 전송 요청을 하고, 이후 인증 코드를 입력하여 인증 요청을 하면 성공할 경우 토큰을 반환해줍니다.

  • 이 토큰과 함께 새로운 비밀번호로 비밀번호 재 설정 요청을 하면 해당 요청을 수행합니다.

  • 이메일 인증 코드 전송의 경우, 무분별한 남발을 방지하기 위해 계정 별로 1일 5회로 제한하였습니다.

  • 인증 코드의 유효 기간은 3분이며, 비밀번호 재 설정 시 토큰의 유효 기간은 5분 입니다.

@Muungi Muungi added feature 새로운 기능 backend 백엔드 관련 labels Feb 25, 2024
@Muungi Muungi requested a review from sickbirdd February 25, 2024 06:17
@Muungi Muungi self-assigned this Feb 25, 2024
Copy link
Collaborator

@sickbirdd sickbirdd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이번 주도 고생 많으셨습니다!

backend/src/auth/auth.service.ts Show resolved Hide resolved
backend/src/mail/mail.service.ts Show resolved Hide resolved
backend/src/user/user.controller.ts Show resolved Hide resolved
backend/src/user/user.controller.ts Show resolved Hide resolved
backend/src/user/user.service.ts Outdated Show resolved Hide resolved
@sickbirdd sickbirdd merged commit 17c0e5a into dev/be Feb 26, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend 백엔드 관련 feature 새로운 기능
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants