회원가입 만들다가 문득 생각남.
“이거 가입만 되면 뭐해. 인증도 안 되는데…” 😅
그래서 이메일 인증 흐름까지 GPT한테 던져봤는데
와… 진짜 다 해준다. 토큰 발급부터 검증, DB에 저장, 메일 전송, 보안 처리까지.
우리가 설계하면서 고민할 거 GPT가 먼저 챙겨서 짜줌.
아래 프롬프트 이대로 복붙하면 됨
프롬프트
복사
넌 인증/보안 기능에 숙련된 시니어 풀스택 개발자야. 나는 지금 Next.js 기반 회원가입 시스템에 "이메일 인증 기반 계정 활성화" 기능을 추가하려고 해. 아래 환경, 목표, 보안 기준에 맞게 전체 구조와 코드를 작성해줘.
[기술 스택 및 환경]
- 프레임워크: Next.js 13 이상 (App Router 구조)
- 언어: TypeScript
- ORM: Prisma
- 데이터베이스: PostgreSQL
- 메일 전송: nodemailer 또는 추천 SMTP 라이브러리
- 비밀번호 암호화: bcrypt
[기능 흐름 요약]
1. 유저가 이메일/비번으로 회원가입
2. 서버는 inactive 계정 만들고 인증 토큰 생성해서 저장
3. 유저 메일로 인증 링크 전송
4. 유저가 링크 클릭 → 토큰 검증 → 계정 활성화
5. 링크는 24시간 유효 + 1회용
6. 인증 안 된 계정은 로그인 불가
[보안 처리 포함]
- 토큰은 단방향 해시로 저장 (절대 평문 X)
- 만료/잘못된 토큰 처리 확실히
- 인증 안 된 계정은 로그인 차단 + 메시지 출력
- 인증 결과 페이지도 만들어줘 (성공/실패/만료 상태 안내)
[요청하는 것]
- Prisma 모델 구성 (User + Token 테이블)
- API route (`/api/auth/register`, `/api/auth/verify-email`)
- 메일 보내는 유틸 함수
- 인증 토큰 생성/검증 로직
- 회원가입 UI 예시
- 인증 결과 페이지 예시
- 코드에 주석 달아줘
전체 구조 설계부터 코드, 예외 처리까지 완성된 예시로 줘.
요거 하나면 이메일 인증 기능은 끝.
심지어 DB 설계 + 보안 고려 + UX 흐름까지 포함된 코드로 받아볼 수 있어서
진짜 MVP 만들 땐 이렇게 GPT랑 협업하는 게 최고임.
혹시 인증 다음에 2FA(구글 OTP)까지 붙이고 싶으면,
그 프롬프트도 정리해둔 거 있음. 댓글 달면 바로 뿌릴게요 😎
좋아요
0
아주 좋아요
좋아요
조금 좋아요
댓글
0
댓글 작성
한 푼도 쓰지 않는 날의 자유(자산의 관리)
“아, 또 커피를 샀네…” 어느새 월 말, 통장 잔고는 고개를 숙였고 제 자존감도 따라 내려갔습니다. 생각해보면 큰돈은 안 썼...
반복되는 실수, 자동화로 극복
개발팀에서 자주 겪는 문제 중 하나는 반복되는 실수와 그로 인한 시간 낭비입니다. 매번 배포 전 코드 리뷰에서 비슷한...