Web Framework & Library/Next.js

[Next.js] NextAuth + sendmail 을 이용한 메일 인증 기반 회원가입 기능 구현 --- (1) Introduction

노호호 2025. 2. 4. 16:30

위 플로우 차트와 같은 회원가입 절차를 Next.js에서 구현하고자 했다.

관건은 3가지이다.

  1. Next.js에서 인증 기능 구현을 어떻게 할 것인가
  2. 메일 인증은 어떻게 받을 것인가
  3. 개인 정보 입력 시 메일 인증을 받은 사람과 그렇지 않은 사람을 어떻게 구분할 것인가

 

각각에 대해 아래와 같은 해결법을 찾았다.

1. Next.js에서 인증 기능 구현을 어떻게 할 것인가
-> NextAuth라는 Next.js용 인증 라이브러리 사용

2. 메일 인증은 어떻게 받을 것인가
-> Sendmail 이라는 리눅스 프로그램을 사용하여 SMTP 서버 구축

3. 개인 정보 입력 시 메일 인증을 받은 사람과 그렇지 않은 사람을 어떻게 구분할 것인가
-> 메일 인증을 받지 않은 사람은 개인 정보 입력 페이지로 넘어갈 수 없게 하고자 한다.
데이터베이스에 메일 인증용 테이블을 만들고(제한 시간: 10분) 인증이 된 사용자에 한해 현재 브라우저에 JWT를 10분 동안 발급

다음 글부터 이를 어떻게 구현했는지에 대해 하나씩 기술할 예정이다.