issues
search
sanghunjo921
/
ticketing-nest
최대 60만명의 동시 접속자가 티켓을 조회하고 최대 6만명의 동시 접속자가 티켓을 예매하거나 구매하는 서비스의 백엔드 파트입니다.
0
stars
0
forks
source link
소셜 로그인 구현하기
#74
Closed
sanghunjo921
closed
4 months ago
sanghunjo921
commented
4 months ago
목표
구글, 네이버, 카카오 계정으로 로그인 또는 회원가입이 가능하도록 구현합니다.
태스크
[x] 소셜 로그인 시 패스워드가 없기에 user entity에서 nullable:true로 설정
[x] Provider 구분을 위해 provider field 추가
[x] 각 소셜미디어에서 로그인 기능을 사용하기 위해 애플리케이션 등록 후 필요한 환경변수 설정: client id, secret id, server url, redirection url, 동의항목 등
[x] 각 소셜미디어의 strategy 라이브러리를 설치 후 정의합니다.
[x] auth controller에서 각 소셜미디어 로그인 호출 컨트롤러를 정의합니다.
[x] 각 소셜미디어의 로그인 요청이 발송되면 해당 로그인 페이지로 이동 후 유저가 정보를 입력했을 때, 이미 DB에 유저가 있다면 유저를 가져오고 없다면 유저를 DB에 저장 후 가져옵니다.
[x] 유저를 가져오고 나서 토큰정보를 쿠키에 저장합니다.
[x] 성공적으로 인증 및 인가 과정이 끝났으면 티켓 조회 페이지로 리다이렉션 합니다.
통과조건
postman으로 각 플랫폼으로 로그인 요청 시 해당 플랫폼의 로그인 화면으로 이동 후 정상적으로 인증 및 인가가 끝나면 티켓 조회 페이지로 이동합니다.
만약 유저가 이미 존재하지 않았다면 DB에 provider id와 함께 저장합니다.
클라이언트에서 소셜 미디어 로그인 버튼 클릭 시 선택한 플랫폼 로그인 화면으로 이동 후 인증 및 인가 절차를 밟습니다.
목표
구글, 네이버, 카카오 계정으로 로그인 또는 회원가입이 가능하도록 구현합니다.
태스크
통과조건