회원가입, 로그인 - 9min9/GiftHub GitHub Wiki
Users 테이블

- User 엔티티를 상속 받는 LocalUser, KakaoUser, NaverUser 엔티티 생성
- 각 유저 테이블의 구분을 위해 상속 전략은 Join 전략 사용
회원가입 / 로그인
- 유효성 검증을 통해 회원가입 폼 검증
- 로그인 성공 시 서비스에서 생성한 JWT을 반환
소셜 회원가입
- 카카오, 네이버 로그인 API를 사용하여 인증에 성공 시 accessToken을 받아 사용하여 유저 정보를 받음
- 전송받은 유저 정보의 이메일 정보를 DB에 검증하여 회원이 존재하지 않으면 회원가입 처리
- 회원 가입 시 API에서 받은 유저 정보 중 ID 값을 DB에 저장 (kakaoAccountId, naverAccountId)
소셜 로그인
- 소셜 회원가입한 계정으로 소셜 로그인 시 API에서 전송 받는 id 값을 통해 로그인 성공 여부를 검증
- 로그인 성공 시 서비스에서 생성한 JWT을 반환