[Final Project] 8/13 (금)

Steve·2021년 8월 14일
0

Final Project 기록

목록 보기
12/26

오늘 작업 내용

로그인/로그아웃/회원가입/카카오 로그인


오늘은 드디어 코딩을 하는 날이었다. 지금까지는 기획한다, 배포한다, 롤백한다 해서 코딩 자체를 많이 하지 못했는데 오늘 드디어 진짜 시작한 느낌이었다.

먼저 로그인/로그아웃/회원가입을 백엔드를 맡은 팀원과 함께 진행했다.
DB는 Mysql2 를, 인증은 JWT 를 사용했다.

Sequelize ORM 도 사용을 고려했으나 프로젝트 전에 이걸 학습하면서 느낀것은 굳이...? 였다. Mysql 쿼리문을 사용하지 않는 점, Migration 과정이 상당히 복잡하다는 점이 Sequelize 사용을 주저하게 했다. 그리고 팀원이 First project 때 시퀄라이즈를 사용하지 않고도 충분히 잘 만들었다고 했다. 그래서 토의 끝에 사용하지 않기로 했다.

그리고 결과는 대만족이다. 쿼리는 훨씬 직관적이었고 migration 을 관리할 필요가 없어 데이터베이스 수정도 유동적으로 할 수 있다.

카카오 로그인

카카오 로그인을 OAuth 로 정했다. 선정 이유는 일단 한국인이라면 남녀노소 kakao 계정을 가지고 있을 것이기 때문에.

kakao 인증 방식은 Github 의 방식과 비슷했다. authorization 코드를 가지고 카카오에 access token 을 가져와서 카카오 유저 정보를 가져온다.

여기서 겪은 어려움중 하나는 axios.post 함수를 사용하면 자꾸 401 response 를 반환한다는 점이었다. 왜 그런지는 알기 어려웠다. 그래서 결국 axios(...) 함수를 사용하여 문제를 해결했다.

카카오 로그인은 다음과 같이 진행된다.

Authorization code 검사
kakao api 로 유저 정보 가져옴
DB 검사해서 회원가입여부 확인
회원일시 토큰 발급 및 응답
회원아닐시 카카오 정보를 바탕으로 회원가입
토큰 발급 및 응답
profile
게임과 프론트엔드에 관심이 많습니다.

0개의 댓글