Blog

Tips, guides, and privacy advice

← Back to Blog
개발자 팁

실제 받은편지함을 사용하지 않고 비밀번호 재설정 흐름을 테스트하는 방법

2026년 1월 7일·6 min read

비밀번호 재설정 테스트가 소홀히 취급되는 이유

대부분의 개발자는 자신의 이메일 주소로 비밀번호 재설정 흐름을 한 번 테스트하고 완료된 것으로 간주합니다. 다섯 번째 테스트 실행 후에는 받은편지함이 동일해 보이는 "비밀번호 재설정" 메시지로 가득 찹니다. 어떤 링크가 어떤 실행에 속하는지 추적을 잃고, 결국 너무 번거롭기 때문에 철저한 테스트를 중단합니다. 바로 그런 종류의 안일함이 심각한 버그가 프로덕션에 침투하도록 허용합니다.

비밀번호 재설정 흐름에서 실제로 테스트해야 하는 것

단순한 "이메일을 보내나" 확인으로는 충분하지 않습니다. OWASP Authentication Cheat Sheet는 포괄적인 요구사항 목록을 설명합니다:

  • 이메일 전달 — 재설정 이메일이 도착하는지, 신속하게 도착하는지
  • 링크 정확성 — 이메일의 링크가 올바른 토큰으로 올바른 페이지로 이동하는지
  • 토큰 만료 — 25시간 후 링크를 클릭했을 때 만료된 토큰이 올바르게 거부되는지
  • 일회성 사용 — 동일한 재설정 링크를 두 번 사용할 수 있는지 (불가능해야 함)
  • 새 요청 시 토큰 무효화 — 사용자가 다시 재설정을 요청할 경우 첫 번째 토큰이 무효화되는지
  • SSO 계정 — OAuth로 등록된 사용자의 경우 어떻게 되는지
  • 속도 제한 — 주소당 재설정 요청에 제한이 있는지

임시 이메일 접근 방식 — 단계별 안내

가장 깔끔한 해결책은 각 테스트 실행마다 새로운 임시 이메일 주소를 사용하는 것입니다. 임시 받은편지함을 열고, 주소를 복사하고, 애플리케이션에서 테스트 계정을 등록하고, 재설정을 트리거한 다음 실시간으로 이메일이 도착하는 것을 지켜보세요. 링크를 클릭하고, 전체 흐름을 확인하고, 로그인이 작동하는지 확인하세요. 다른 시나리오에는 새 브라우저 탭을 열기만 하면 됩니다.

테스트 이메일 주소를 코드베이스에 하드코딩하지 마세요. 매번 새로운 임시 메일 받은편지함을 사용하세요 — 실제 배달을 테스트하고 항상 깨끗한 상태에서 시작할 수 있습니다.

토큰 보안 체크리스트

비밀번호 재설정 토큰은 일반적인 공격 면입니다. OWASP에 따르면 안전한 구현은 다음을 충족해야 합니다:

  • 최소 32자, 암호학적으로 무작위 생성
  • 24시간 이내, 이상적으로는 1시간 이내 만료
  • 일회성 사용 — 교환 즉시 무효화
  • 새 재설정이 요청될 때 무효화
  • 이메일 주소당 속도 제한
  • 평문으로 로그에 기록되지 않음

회귀 스위트에 비밀번호 재설정 포함

비밀번호 재설정은 인증 라이브러리가 업데이트될 때 조용히 망가집니다. 최소한 기본적인 엔드투엔드 테스트를 추가하세요. MXToolbox로 도메인의 인증 설정을 확인하고, 실제 보안 침해에 대한 심층적인 관점을 위해 Troy Hunt의 블로그를 참조하세요.