Skip to content

회원가입 flow 구현 및 e-mail 인증코드 발송 구현#4

Closed
Alex4386 wants to merge 7 commits intostagingfrom
feat/auth-email
Closed

회원가입 flow 구현 및 e-mail 인증코드 발송 구현#4
Alex4386 wants to merge 7 commits intostagingfrom
feat/auth-email

Conversation

@Alex4386
Copy link
Collaborator

@Alex4386 Alex4386 commented May 22, 2025

Changelog

  • /auth/validate endpoint 신설
    • 이메일을 통해 전송된 인증코드를 POST 를 통해 보내면 userService.verify() 를 통해 해당 이메일 계정의 인증을 진행합니다.
    • TODO: Potential Bruteforce Attack Vector 가 될 수 있으므로, /auth/signup/auth/validate 에 대한 Rate Limit 조치가 추후 필요합니다.
    • TODO: 현재 /auth/signup 을 통해 발급된 인증코드에 대한 유효기간 제한이 없습니다. 추후 제한 시간을 검토해야 합니다.
  • password field 에 plain-text password 대신 SpringSecurity 에서 제공하는 PasswordEncoder 를 이용하여 bcrypt 와 같은 안전한 단방향 해시 기법을 이용해 비밀번호(의 대조군)을 저장합니다.
  • docker 빌드 파이프라인에서 application.yaml 대신 application.docker.yaml 을 사용하도록 GitHub Actions 스크립트를 조정합니다.
  • JavaMail 을 사용하여 메일을 발송용 서비스 MailService 를 구현합니다
    • SMTP 전송을 위한 환경변수 설정이 Portainer 에도 적용되었습니다. .env 파일 예시
    • 기본 발송 이메일 주소를 지정하기 설정 unideal.mailer.from 이 신설되었습니다.
  • RESTful Endpoint 가 아닌 Thymeleaf SSR 로 작성된 ControllerRestController로 마이그레이션 합니다.
    • 혹시 모를 호환성 문제에 대비하기 위해 AuthPageController 에 해당 변경점을 백업합니다.
  • 이외의 [FEAT] 회원가입 API #1 에서 명시된 변경점을 포함합니다.

@Alex4386 Alex4386 changed the title 회원가입 flow 구현 및 회원가입 flow 구현 및 e-mail 인증코드 발송 구현 May 22, 2025
@Alex4386 Alex4386 added the ✨ feature New feature or request label May 22, 2025
@Alex4386
Copy link
Collaborator Author

TODO: #3 에서 명시된 바와 같이 LoginResponseDTO 에서 로그인 후 토큰을 반환해야 합니다.

@Alex4386 Alex4386 marked this pull request as draft May 23, 2025 05:25
@Alex4386
Copy link
Collaborator Author

Alex4386 commented May 29, 2025

superseded by #5. Closing PR.

@Alex4386 Alex4386 closed this May 29, 2025
@Alex4386 Alex4386 deleted the feat/auth-email branch May 29, 2025 03:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants