Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEAT] 전화번호 인증 기능 구현 #3

Open
5 of 22 tasks
yummygyudon opened this issue Nov 4, 2024 · 0 comments
Open
5 of 22 tasks

[FEAT] 전화번호 인증 기능 구현 #3

yummygyudon opened this issue Nov 4, 2024 · 0 comments
Assignees
Labels
🎁 feature 새로운 기능을 개발하거나 추가, 변경할 경우(spring boot 내의 기능 코드)

Comments

@yummygyudon
Copy link
Member

yummygyudon commented Nov 4, 2024

About Issue 🚀

사용자의 번호를 통한 상황별(가입/계정 조회/계정 변경) 번호 인증 기능을 구현합니다.

Progress ✔️

  • Domain
    • 번호 인증
      • 이름/번호/인증 타입
    • 인증 코드
  • External
    • Gabia SMS 서비스 연동
      • 잔여 문자량 조회
      • SMS 발송
      • 문자 ID로 문자 이력 조회
  • Database
    • postgres
      • 인증 이력 Entity & Repository
      • 사전 제출 가입 정보 Entity & Repository
  • UseCase & Service
    • in
      • createPhoneVerification
      • verifyPhoneVerification
    • out
      • verificationRepository
  • Api
    • createPhoneVerification
    • verifyPhoneVerification

전화번호 인증 기능 Flow

  1. 회원 가입 시점 - 인증 생성 요청
    a. 사용자는 이름과 번호를 입력해 번호 인증 요청을 합니다. (이름 / 번호 / 인증타입-가입)
    b. 이름과 번호를 기반으로 가입 회원 중에 존재하는지 확인합니다.
    • 없을 경우, 예외를 발생시킵니다.
      c. 인증 코드를 생성합니다.
      d. "번호 인증 요청 이력"에 이름,번호, 인증코드, 인증타입을 저장합니다.
      e. Gabia 문자 서비스로 해당 번호로 인증코드와 함께 문자를 전송합니다.

(클라이언트 측은 이름,번호 데이터와 함께 인증 타입을 알고 있어야 합니다.)
(번호 인증 요청만 한 후, 장기간 인증 검사 요청을 안하는 경우를 대비해야 합니다. ex. Redis TTL, Scheduling)

  1. 회원 가입 시점 - 인증 검사 요청
    a. 이름, 번호, 인증코드, 인증타입과 함께 검사 요청을 합니다.
    b. 이름, 번호, 인증코드, 인증타입으로 가입 인증 요청 이력이 있는지 확인 합니다.
    • 없을 경우, 예외를 발생시킵니다.
      c. 가입 인증 요청 이력을 삭제합니다.
      d. 인증 성공 결과를 반환합니다.
      (클라이언트 측은 성공 결과를 반환 받을 경우, 소셜 계정 등록 단계로 이동합니다.)

  1. 가입 플랫폼 조회 시점 - 인증 생성 요청
    a. 사용자는 이름과 번호를 입력해 번호 인증 요청을 합니다. (이름 / 번호 / 인증타입-조회)
    b. 인증 코드를 생성합니다.
    c. "번호 인증 요청 이력"에 이름,번호, 인증코드, 인증타입을 저장합니다.
    d. Gabia 문자 서비스로 해당 번호로 인증코드와 함께 문자를 전송합니다.

(클라이언트 측은 이름,번호 데이터와 함께 인증 타입을 알고 있어야 합니다.)
(번호 인증 요청만 한 후, 장기간 인증 검사 요청을 안하는 경우를 대비해야 합니다. ex. Redis TTL, Scheduling)

  1. 가입 플랫폼 조회 시점 - 인증 검사 요청
    a. 이름, 번호, 인증코드, 인증타입과 함께 검사 요청을 합니다.
    b. 이름, 번호, 인증코드, 인증타입으로 가입 인증 요청 이력이 있는지 확인 합니다.
    • 없을 경우, 예외를 발생시킵니다.
      c. 가입 인증 요청 이력을 삭제합니다.
      d. 인증 성공 결과를 반환합니다.
      (클라이언트 측은 성공 결과를 반환 받을 경우, 소셜 계정 조회 단계로 이동합니다.)

  1. 가입 플랫폼 변경 시점 - 인증 생성 요청
    a. 사용자는 이름과 번호를 입력해 번호 인증 요청을 합니다. (이름 / 번호 / 인증타입-변경)
    b. 인증 코드를 생성합니다.
    c. "번호 인증 요청 이력"에 이름,번호, 인증코드, 인증타입을 저장합니다.
    d. Gabia 문자 서비스로 해당 번호로 인증코드와 함께 문자를 전송합니다.

(클라이언트 측은 이름,번호 데이터와 함께 인증 타입을 알고 있어야 합니다.)
(번호 인증 요청만 한 후, 장기간 인증 검사 요청을 안하는 경우를 대비해야 합니다. ex. Redis TTL, Scheduling)

  1. 가입 플랫폼 변경 시점 - 인증 검사 요청
    a. 이름, 번호, 인증코드, 인증타입과 함께 검사 요청을 합니다.
    b. 이름, 번호, 인증코드, 인증타입으로 가입 인증 요청 이력이 있는지 확인 합니다.
    • 없을 경우, 예외를 발생시킵니다.
      c. 가입 인증 요청 이력을 삭제합니다.
      d. 인증 성공 결과를 반환합니다.
      (클라이언트 측은 성공 결과를 반환 받을 경우, 소셜 계정 등록 단계로 이동합니다.)
@yummygyudon yummygyudon added the 🎁 feature 새로운 기능을 개발하거나 추가, 변경할 경우(spring boot 내의 기능 코드) label Nov 4, 2024
@yummygyudon yummygyudon self-assigned this Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🎁 feature 새로운 기능을 개발하거나 추가, 변경할 경우(spring boot 내의 기능 코드)
Projects
Status: No status
Development

When branches are created from issues, their pull requests are automatically linked.

1 participant