diff --git a/docs/project/work.md b/docs/project/work.md index 9c1debb..c89ebc4 100644 --- a/docs/project/work.md +++ b/docs/project/work.md @@ -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에 존재하는 이메일에만 메일을 보내며, 미가입 이메일에도 같은 외부 응답을 반환해 계정 존재 여부가 노출되지 않도록 유지합니다. diff --git a/frontend/app/forgot-password/page.tsx b/frontend/app/forgot-password/page.tsx index 7684f2e..eb27c8d 100644 --- a/frontend/app/forgot-password/page.tsx +++ b/frontend/app/forgot-password/page.tsx @@ -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); } };