-
RhyThMe_WeekWIL 2022. 9. 5. 12:33
2022.09.04 WIL
아직 프로젝트 중이라, 한 주간 RhyThMe 프로젝트를 진행하며 느낀 점들만 기술하려 한다.
나는 Token 처리와 회원가입, 로그인, 로그아웃, 회원탈퇴, 소셜로그인(카카오,구글)의 기능에 대한 파트를 구성했다.1. 회원가입
회원가입은 email, password, nickname, imgurl(프로필 사진), hashtag(관심사/1개 이상의 List값), postion(singer/maker) 값을 받아오고, 그것을 Member 테이블에 저장하는 역할을 한다. 여기서 hashtag가 말썽을 부렸다. List값을 받아오는 부분에서 많은 오류가 나왔기 때문이다. 결국 팀장님의 조언대로 중간 테이블 MemberTag를 구성하고 Tag테이블에 hashtag List값을 저장할 수 있었다.2. 로그인
로그인은 email, password값만 받아서 진행했다.
로그인 완료 시에는 refreshToken값과 accessToken값이 전달되어야 하기 때문에, 해당 토큰을 구성하여 프론트로 전달했다. 이제까지의 프로젝트와 다른 점이라면, 이번에는 refreshToken값을 서버에 저장하여, 향후 로그인 한 유저의 accessToken값이 만료되었으면 서버의 refreshToken과 비교하여 accessToken을 다시 발급하는 로직을 구성하려 한다.
3. 로그아웃
로그아웃시에는 서버에 저장된 refreshToken을 지우는 작업을 수행했다. 향후 유저가 다시 로그인을 해야 하기 때문에, refreshToken값만 지웠다.
4. 회원탈퇴
로그아웃과는 달리, 회원탈퇴 시에는 서버에 저장된 Member에 대한 데이터 값을 모두 지우는 작업을 수행했다. 다만, 테이블 참조 덕분에 테이블을 순차적으로 지워야 했다. refreshToken테이블에 있는 Memberㅈ정보를 먼저 지우고, Membertag 테이블에 회원탈퇴하는 Id값을 지운 후 Tag테이블에서 해당되는 값들을 모두 지웠다. 오류가 좀 나왔지만, 결국 지울 수 있었다.5. 소셜 로그인
구글과 카카오 소셜 로그인은 비슷하면서도 달랐다. 카카오 로그인은 이전에 진행했던 적이 있어서 비교적 수월하게 끝냈지만, 구글 로그인은 서버에서 주는 값이 카카오와 달랐다. 구글서버에서 주는 값을 테이블에 저장하느라 애먹었던 것 같다. 하지만 결국 둘 다 기능 구현에 성공했다.
6. 느낀 점
프로젝트를 진행하면서 모르는 부분을 구글링하며 찾아보는 경험이 생각보다 많은 스텝업이 되는 것 같다. 이 자료들을 더 세세히 정리하여 기록해 나아가야겠다.'WIL' 카테고리의 다른 글
리드미 최종 프로젝트 (0) 2022.10.10 Refactoring Week (0) 2022.09.26 클론코딩 (0) 2022.08.28 WHACHAO (0) 2022.08.28 CRUD 다시 보기 (0) 2022.08.24