Programming/Java
[Spring] Gmail SMTP를 이용하여 이메일 인증 구현 - 데이터의 흐름
mar1po5a
2025. 3. 21. 15:22
STS4
Legacy Project
JAVA 1.8
Oracle SQL
Tomcat9
Mybatis jdbc SqlSessionFactory 사용
** Gmail SMTP 설정을 모두 끝마쳤어야함.
1. 회원가입 페이지에서 이메일 인증 요청
사용자 액션: 회원가입 폼에서 이메일 입력 후 "인증 코드 발송" 버튼 클릭
데이터 흐름:
- signUpForm.jsp의 Ajax 요청
- MemberController의 requestEmailAuth()
- EmailService의 authCodeSendEmail()
- 랜덤 인증코드 생성(authCode())
- 이메일 발송(sendEmail())
- MemberService의 insertAuthCode()
- memberMapper.xml의 insertAuthCode 태그
- DB의 AUTHCODE 테이블에 저장
2. 사용자가 이메일에서 인증 코드 확인 후 입력
사용자 액션: 이메일 확인 후 회원가입 폼에 인증 코드 입력, "인증 확인" 버튼 클릭
데이터 흐름:
- signUpForm.jsp의 Ajax 요청
- MemberController의 checkAuthCode()
- EmailService의 checkAuthCode()
- MemberService의 getAuthCode()
- memberMapper.xml의 getAuthCode 태그
- DB에서 인증코드 조회 및 검증
- 인증 결과 반환
- 클라이언트에 성공/실패 응답
3. 인증 성공 후 회원가입 완료
사용자 액션: 나머지 회원정보 입력 후 "회원가입" 버튼 클릭
데이터 흐름:
- signUpForm.jsp의 폼 제출
- MemberController의 signUp()
- 사용자 입력 데이터 검증
- 인증코드 재확인(EmailService의 checkAuthCode())
- MemberService의 signUpAndSendAuthCode()
- MemberService의 signUp()
- memberMapper.xml의 signUp 태그
- DB에 회원정보 저장
- 회원가입 완료 응답 반환