Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/project/work.md
Original file line number Diff line number Diff line change
Expand Up @@ -1998,3 +1998,4 @@
- 브랜치 분리 후 전체 빌드에서 공유 `ErrorCode` 파일의 이메일 오류 코드가 동호회 커밋에 섞여 빠진 문제를 확인했습니다. `EMAIL_001~010`만 이메일 브랜치로 옮겨 이메일 기능이 독립적으로 컴파일되도록 바로잡았습니다.
- 이메일 인증 회원가입 및 비밀번호 재설정 변경을 `feature/email-verification-password-reset` 브랜치로 푸시하고 GitHub PR #35를 생성했습니다. PR에는 이메일 기능과 관련 문서·마이그레이션·CI 변경만 포함했습니다.
- PR 리뷰를 반영해 SES 클라이언트 타임아웃처럼 발송 결과가 불확실한 경우에는 실제 요청 ID와 인증 가능 상태를 유지하고, 명확한 발송 실패만 `SEND_FAILED`로 기록하도록 구분했습니다. 동시 가입 중 발생한 닉네임 unique 위반은 `DUPLICATE_NICKNAME`으로 변환하며, 정리 작업은 아직 유효한 인증 토큰이 있는 레코드를 보존하도록 쿼리와 테스트를 보완했습니다. 요청 스레드를 점유하는 비밀번호 재설정 응답 패딩은 전용 비동기 실행 정책이 필요한 별도 성능 개선 범위로 남겼습니다.
- 비밀번호 재설정 요청 뒤에는 입력한 이메일이 가입된 계정과 일치할 때 인증번호가 발송된다고 안내하도록 문구를 바로잡았습니다. 백엔드는 기존대로 회원 DB에 존재하는 이메일에만 메일을 보내며, 미가입 이메일에도 같은 외부 응답을 반환해 계정 존재 여부가 노출되지 않도록 유지합니다.
2 changes: 1 addition & 1 deletion frontend/app/forgot-password/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ export default function ForgotPasswordPage() {
if (!response.ok) throw new Error(await errorMessage(response, "인증번호 요청에 실패했습니다."));
const body = await response.json();
setRequestId(body.requestId);
setNotice("가입 여부와 관계없이 입력한 이메일로 안내를 요청했습니다. 메일이 오면 인증번호를 입력해 주세요.");
setNotice("입력한 이메일이 가입된 계정과 일치하면 인증번호가 발송됩니다. 메일을 확인해 주세요.");
} catch (caught) { setError(caught instanceof Error ? caught.message : "요청을 처리하지 못했습니다."); }
finally { setLoading(false); }
};
Expand Down
Loading