Skip to content

이메일 인증에 대한 테이블 추가 #15

@CHISANW

Description

@CHISANW

테이블 추가 이유

초기 구현단게에서는 code를 클래스 변수로 선언해 해당 메서드가 실행하면 code의 값이 변경되어서 동시에 요청 시 처음에 요청했던 사용자는 올바른 인증번호를 입력을 하여도 인증이 실패하는 오류가 발생.

해결 제안

  1. @kkssbbb 제안 -> 이메일 인증번호를 프론이 트단에 넘겨 이메일 인증을 성공하면 success 같은 값을 다시 백엔드에 넘겨서 검증
  2. 이메일 인증 테이블(RDMS)을 하나 추가로 설계해서 검증하는 방법
  3. NO-SQL 과 같은 Redis를 도입해서 이메일 인증을 구현하는 방법

선택 방안

  • 테이블(RDMS)를 추가하여 인증을 하는 방법으로 결정

선택 이유

  • 이메일 인증번호를 프런트 단만 아닌 서버에서도 검증을 통해 확인하는 것이 옳다고 판단, 또한 No-SQL을 도입하려 했으니 현재 Redis의 기술적 이해도가 낮아 구현의 목적을 두는 것 같아서 선택하지 않으면 하지만 RDMS은 쿼리를 날려야 하는 성능적인 문제가 발생할 수 있지만. 이메일 관련 API는 한 번에 많은 사용자가 이용할 것 같지 않은 API라고 판단해 테이블 추가로 결정

구현내용

이메일 필드

  • 이메일 테이블을 추가하여 이메일 인증 번호의 유효 시간을 을 3분으로 설정
  • 테이블의 불필요한 데이터가 발생할 것을 예상해서 1시간마다 스케줄러를 통해 Mariadb의 현재 시간보다 이 전 시간(lastTime) 레코드를 삭제하도록 설정(하루에 총 24개의 delete 쿼리 발생 )

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions