[일단기록] oAuth User ERD 설계

kjoo0·2024년 8월 14일
0

일단기록

목록 보기
8/10
post-thumbnail

oAuth만을 이용하여 가입하고, 로그인하는 유저 시스템의 ERD를 설계해봅니다.

user 기본 필드

id PK int AUTOINCREMENT
email string UNIQUE
accessToken string
accessTokenExpiry date
refreshToken string
providerCode int
name varchar(255)
profileImage string NULL
fcmToken string NULL
createdAt date
updatedAt date
deletedAt NULL date

테이블 분리 작업

변경 전

변경 후

FcmToken의 경우 userId 정보만 있다면 FCM 보내는 작업에 대해 token 값 외의 추가 정보는 필요하지 않습니다!
또한 첫 로그인, 로그아웃 후 동일 기기/앱 타 사용자 로그인, 타 기기 로그인 과 같은 로그인 정보가 변경됐을 때 fcmToken 값의 변경이(사실상 fcmToken만) 필요합니다.
그래서 fcm 토큰 정보와 userId를 분리했고, 잘 변경되지 않는 사용자 이름, 프로필 이미지와 같은 정보 역시 다른 테이블로 분리했습니다.

고민했던 부분

  1. oAuth 가입 시 하나의 이메일은 하나의 oAuth provider로부터 제공된 고유한 이메일이어야 한다.
    즉, 다른 oAuth provider가 제공한 이메일이라고 하더라도 기존에 이미 사용됐다면 사용 불가
  2. oAuth 최초 로그인 시 fcmToken 값 insert
  3. 이미 가입한 계정으로 다른 기기에서 로그인 시 fcmToken 값 update
  4. 로그아웃 시 fcmToken null로 변경
profile
티스토리 이사 준비 중..

0개의 댓글