비밀번호 찾기
AUTH-FIND-PW · /find-pw
기능
4
API 호출
0
가드레일
5
id 가 테스트 이름
구현 단계
7 / 7
개발 스펙
이 화면에서 할 수 있어야 하는 것 (1)
- 본인 확인 후 재설정 링크를 받는다.
비즈니스 규칙 (1)
- 재설정 링크는 일회용이고 만료가 있어야 한다.
API (1)
| 메서드 | 경로 | 권한 | 모듈 · 설명 |
|---|---|---|---|
POST | /api/identity/members/reset-password | 공개 | 재설정 요청. domains:identity:identity-web |
가드레일 (5) — id 가 곧 테스트 이름이다
| id | 반드시 만족해야 하는 것 | 등급 |
|---|---|---|
find-pw-screen-reaches-server | 비밀번호 찾기 화면의 요청이 실제로 서버까지 닿아야 한다. 화면은 /api/identity/auth/find-pw 를 부르는데 그 라우트가 없으면 Auth.js catch-all 이 400 으로 삼켜, 화면에는 그냥 실패로만 보인다. | critical |
reset-link-only-by-mail | 재설정 링크는 메일로만 보내야 한다. 문자로 보내면 토큰이 통신사와 로그에 남는다. | critical |
notification-failure-does-not-break-flow | 발송이 실패해도 요청 자체는 성공해야 한다. 메일 서버가 죽었다고 500 이 나면 안 된다. | high |
reset-token-single-use | 재설정 토큰은 한 번 쓰면 무효가 돼야 한다. | critical |
reset-token-expires | 만료된 토큰으로 비밀번호를 바꿀 수 없어야 한다. | critical |
구현 계획 (7/7)
- ●AccountNotifications.sendPasswordResetLink 연결
notification-app - ●issueToken 이 토큰을 메일로 보낸다 — 응답에는 싣지 않는다
identity-app - ●updatePassword 포트
identity-domain - ●ResetPasswordUseCase + 토큰 프로바이더
identity-app - ●changePassword — dirty checking 으로 반영
identity-infrastructure - ●/api/identity/members/reset-password (+/confirm) 구현
identity-web - ●Next.js 를 BFF 로 전환 — Prisma 직접 접근 제거
wvctesol
서버 사이드 구현 계획 — 자바 객체별 요구사항 (3/3)
| 객체 | 모듈 | 책임 · 지켜야 할 것 |
|---|---|---|
● AccountNotificationsservice | notification-app | 계정 관련 안내 문구와 발송.
|
● PasswordResetTokenProviderclass | identity-security | 재설정 토큰 발급·검증. 저장 테이블 없이 일회용과 만료를 만든다.
|
● ResetPasswordUseCaseservice | identity-app | 재설정 링크 발급과 비밀번호 변경.
|
테스트 방법 (5)
| 가드레일 | 종류 | 확인 방법 |
|---|---|---|
find-pw-screen-reaches-server | e2e | 화면에서 폼을 채워 제출하면 서버가 받은 응답(accepted)이 화면에 뜬다 |
reset-link-only-by-mail | unit | sendPasswordResetLink 가 EMAIL 채널만 쓰고 SMS 는 쓰지 않는다 |
notification-failure-does-not-break-flow | unit | 발송이 예외를 던져도 호출자에게 전파되지 않는다 |
reset-token-single-use | unit | 같은 재설정 토큰으로 2회 변경 시도 → 두 번째는 실패 |
reset-token-expires | unit | 만료 시각을 지난 토큰으로 변경 시도 → 실패 |
스냅샷

기능 목록 (4)
입력
- ·폼
2개 - ·제출 버튼
2개 - ·입력 필드
4개
상태
- ·화면 상태
pending, message, error
화면 이동
← 이 화면으로 오는 곳
AUTH-FIND-ID/find-idAUTH-FIND-PW-RESET/find-pw/resetAUTH-JOIN/joinAUTH-LOGIN/login
이 화면에서 가는 곳 →
HOME/AUTH-FIND-ID/find-idAUTH-JOIN/join
연결
API
직접 호출하는 API 가 없습니다
소스
src/app/find-pw/page.tsx