Skip to content

회원가입

MIN UK JUNG edited this page Aug 10, 2024 · 12 revisions

문서 목적

회원가입 전체 로직 이해를 돕기 위해 작성한다.

아래 Swagger를 참고하길 바란다.

이메일 인증 코드 전송 요청 API:

이메일 인증 코드 확인 요청 API:

닉네임 중복 확인 요청 API:

최종 회원가입 API:

전체 로직 Sequence Diagram

각 용어는 아래와 같다.

  • User : 실제 서비스를 사용하는 유저
  • Browser: FrontEnd
  • Server: Backend
sequenceDiagram
  Actor User as User
  
  User ->> Browser: 이메일 입력 및 인증코드 발송 버튼 클릭
  Browser ->> Server: 이메일 인증 번호 전송 API 요청
  Server ->> Browser: 성공 응답(200)
  User ->> Browser: 이메일을 확인하여 인증번호 입력 및 "인증확인"버튼 클릭
  Browser ->> Server: 이메일 인증 코드 검증 API 요청
  Server ->> Browser: 성공 응답(200) + 이메일 인증 성공 검증 토큰 전송
  User ->> Browser: 비밀번호/비밀번호 확인란 입력
  User ->> Browser: 닉네임 입력 및 중복확인 버튼 클릭
  Browser ->> Server: 닉네임 중복 확인 API 요청
  Server ->> Browser: 성공 응답(200) + 중복 확인 검증 성공 토큰 전송
  User ->> Browser: 회원가입 버튼 클릭
  Browser ->> Server: 이메일/닉네임 검증 토큰을 포함하여 회원가입 요청
  Server ->> Browser: 성공 응답(201)
  Browser ->> Server: 로그인 API 호출
  Server ->> Browser: 성공 응답(200)
  Browser ->> User: 추가 정보 입력 페이지로 redirect

Loading

이메일 인증 코드와 이메일 인증 성공 검증 토큰

용어 정의

  • 이메일 인증 코드: 유저의 이메일로 보내지는 인증 코드 이며 아래 UI와 대응된다. image

  • 이메일 인증 성공 검증 토큰: 유저가 이메일 인증을 거치고 나서 회원가입 요청을 보내는 것이 맞는지를 검증하기 위한 토큰이다.

필요성

비정상 경로로 회원가입을 시도하는 유저를 막기 위해, 해당 유저가 정상적인 경로로 이메일 인증을 완료한 유저가 맞는지를 검증하기 위함.

인증 코드 유효 시간: 5분

이메일 인증 성공 검증 토큰 유효시간: 30분

닉네임 중복 검증 성공 토큰

필요성

  1. 비정상 경로로 회원가입을 시도하는 유저를 막기 위해, 해당 유저가 정상적인 경로로 이메일 인증을 완료한 유저가 맞는지를 검증하기 위함.
  2. 닉네임 중복 확인을 거치면, 닉네임을 선점하여 일정 시간동안 다른 유저가 해당 닉네임으로 회원가입 하는 것을 막기 위함.