비밀번호 재설정도, GPT가 설계부터 같이 해줘요

세이멘토
2,113
1 0

회원가입 다음으로 중요한 기능이 비밀번호 재설정이죠.
사용자 UX도 중요하지만, 토큰 만료, 인증 링크 보안, 악용 방지까지 생각하면 진짜 섬세하게 설계해야 하는 기능입니다.

근데 ChatGPT한테 아래처럼 요청하면 보안 흐름 + 코드 구조 + UI UX 흐름까지 한 번에 정리해서 주니까
혼자 고민하고 설계하는 시간 줄고, 실무에서도 그대로 적용할 수 있어요.

이번엔 이메일 기반 비밀번호 재설정 기능을 요청한 프롬프트입니다

프롬프트

복사
넌 보안과 인증 흐름에 능숙한 시니어 풀스택 개발자야. 나는 현재 내 Next.js 기반 웹사이트에 비밀번호 재설정(Reset Password) 기능을 직접 구현하고 싶어. 아래 요구사항을 기반으로 전체 구조, 보안 고려, UI 흐름, 코드를 포함한 완전한 구현 가이드를 제공해줘.

[기본 환경]
- 프레임워크: Next.js 13+ (App Router 구조)
- 언어: TypeScript
- 데이터베이스: PostgreSQL (Prisma ORM)
- 인증은 이메일 기반
- 이메일 전송은 nodemailer 또는 추천 SMTP 라이브러리 사용
- 비밀번호는 bcrypt로 암호화 저장

[기능 흐름 요약]
1. 사용자가 이메일을 입력 → 비밀번호 재설정 요청  
2. 서버는 고유한 리셋 토큰을 생성하고 DB에 저장 (만료 시간 포함, 예: 15분)
3. 사용자 이메일로 토큰 포함된 재설정 링크 전송 (예: `https://example.com/reset?token=abc123`)
4. 사용자가 해당 링크 클릭 → 클라이언트에서 토큰 확인 → 새 비밀번호 입력
5. 서버에서 토큰 검증 → 유효하면 비밀번호 업데이트, 토큰은 즉시 삭제

[보안 요구사항]
- 토큰은 단방향 해시로 저장 (단순 문자열 저장 X)
- 링크는 1회용이어야 하며, 만료 시간 이후엔 무효화
- 비밀번호는 최소 길이/복잡도 조건 만족해야 함
- 이메일 유효성 체크 필요 (존재하지 않는 이메일에도 노출 안 되도록 처리)
- 사용자 피싱 방지를 위해 UX도 신경 써야 함 (예: 성공/실패 메시지 동일 처리)

[기술 구현 요청]
- Prisma 모델에 `ResetToken` 테이블 설계 포함 (userId, tokenHash, expiresAt 등)
- `/api/auth/request-reset`, `/api/auth/verify-token`, `/api/auth/reset-password` 구조로 API 구성
- 토큰 생성/검증 로직은 유틸 함수로 분리
- 서버에서 쿠키 사용은 필요 없음
- 이메일 템플릿 구성 예시 포함
- 클라이언트 측에서 `reset password form`과 UX 흐름도 예시 코드로 제공
- 모든 코드에 상세한 주석 작성

이 요구사항을 기반으로 백엔드 로직, 프론트 컴포넌트, 이메일 템플릿, 예외 처리 흐름까지 포함해 전체 코드를 작성해줘.

이렇게 GPT에게 구조부터 목적, 보안 조건, API 설계 방향, UI 흐름까지 함께 요청하면
단순한 코드 조각이 아닌 실제 제품 수준의 설계와 구현 예시가 나옵니다.

비밀번호 재설정도 혼자 설계할 필요 없이,
GPT랑 “협업하듯” 일하면 진짜 시간도 줄고, 실수도 줄어요.
여러분은 어떤 식으로 리셋 기능 구현하고 계신가요? 공유해주세요!

댓글 작성

미완성 소설이 베스트셀러로: 영감의 블록을 깨는 마법의 질문들

문제는 늘 같은 지점에서 시작됩니다. 빈 페이지를 앞에 두고, 손가락은 키보드 위에서 멈춰 있습니다. 머릿속에는 이야기의 ...

재무회계가 말해주는 비즈니스의 진실

재무제표는 단순한 숫자의 나열이 아닌, 기업의 모든 의사결정과 활동이 응축된 이야기입니다. 한 중소기업 CEO는 매출은 증...

프롬프트

ChatGPT

혼자서는 한계가 있어요 – 함께 만드는 교육의 미래!

ChatGPT

망가진 데이터를 살려내는 마법사가 되어보세요!

ChatGPT

숫자에 속지 마세요! 진짜 성과를 보는 눈을 키우는 법

ChatGPT

목표가 지루하다면? 뒤집어 생각해보세요!

ChatGPT

내 안의 예술가가 깨어나는 순간 – 첫 붓터치부터 시작된 기적!

ChatGPT

당신의 돈, 폭풍우를 견딜 수 있나요? 미리 알아보는 스마트한 방법!

ChatGPT

교육계의 ‘숨겨진 카드’ 공개하기 – 투명성이 돈이 되는 시대!

ChatGPT

데이터가 여행을 떠날 때 가져가는 가방 – 직렬화의 비밀!

ChatGPT

또 회의하자고요?” → “와, 이 아이디어 대박이네!” 180도 뒤바뀐 우리 회사 이야기

ChatGPT

99%가 놓치는 창의력 스위치는 바로 여기에!

ChatGPT

도시가 무대가 되는 순간 – 당신도 주인공이 될 수 있습니다!

ChatGPT

돈이 춤추는 캔버스, 당신의 자산은 어떤 작품인가요?

ChatGPT

교육의 숨겨진 가치, 이제 공개할 때!

ChatGPT

데이터의 강을 만드는 방법을 찾고 계신가요?

ChatGPT

사일로를 무너뜨린 3줄 코드의 기적

ChatGPT

1% 아이디어가 99% 자원을 바꾸다