Wecode 부트캠프 -Foundation 2/Foundation Test

Foundation Test 앞서, 회원가입, 로그인, 토큰발행 [전반적인 흐름] 구조화

JBS 12 2023. 9. 7. 08:50

https://pm-developer-justdoit.tistory.com/37

 

[Westagram Backend Project] 3. mysql Database로 유저 회원가입 하기 (주황색)

-Westagram Backend Project - 여기에서 body가 없는거고, 배열 안에 있는 건 더미 데이터 [Node.js] Express, postman 활용 - 유저 생성, 추가 (회원가입) 이거를 배열로 추가하는게 아니라, Express로 server 연결하는

pm-developer-justdoit.tistory.com

 

여기에서 이어지는 과정

 

 

위에서는 데이터베이스와 mysql 연결 후

user정보 저장, user 추가, 데이터베이스에 정보 저장 과정이였다. 

 

 

 

이후 배운 것은, error handling으로 발생할 수 있는 에러를 생각해보았고,

그 중, 만약 이메일이 중복돼서 이미 가입된 경우에는 에러 메세지를 보내야 한다는 것이였다.

 

 

 

 

이번에는 회원가입/로그인을 할 때에 오류가 나는 것을 상상해보았고,

이미 가입된 사람이 회원가입을 하려고 할 때엔 어떻게 해야할까에서 시작해서

흐름을 잡아보기 

 

1) 이메일이 중복되지 않고 아직 한번도 회원가입을 안 한 사람이 회원가입하도록, 이메일이 우리 DB에 있는지 확인한다 

- 없다면 회원가입 성공! 

- 있다면 error 보내고 끝!   'duplicated email address!' 이미 있는 계정/아이디/이메일이다! 

 

2) 회원가입 후 로그인을 하려고 할 때, 일단 가입한 사람인지 봐야하니 이 이메일을 우리가 갖고 있는지 봐야하고

- 있다면 로그인 성공!이 아니라, 다음 단계로! 이제 패스워드 봐야지 (컴퓨터는 한번에 하나만 가능함)

- 없다면 error 보내고 끝! (더이상 다음 단계 못 감, 접근 금지 ㅎ) (회원가입부터 하셔요) '없는 아이디/ 계정입니다' 

 

3) 아이디/이메일이 있다면, 그렇다면 패스워드도 비교 해서 우리 DB에 있는지 비교하고

- 있다면 로그인 성공! 

- 없다면 없는 패스워드 error!  빼액! 끝

 

4) 아이디와 패스워드 모두 성공한 자는 로그인 성공이고

 

5)로그인을 위한 토큰 발급을 해주는 과정 --> 이후 게시물에서 과정 자세히 

 

0) 가장 먼저,

프론트엔드가 백엔드에게 모든 key를 줬는지 확인하기부터이고.

- 만약 이메일이나 비밀번호 이름을 하나라도 key 빠뜨려서 줬다면 key error이고. (프론트, 너 키 안 줬어! 늘 의심해야한다)

 

 

= 로그인 과정에서,

우리에게 있는지 확인 하는 방법은 중복을 사용하는 것이고 

중복된 게 없다면, error로 끝이다. (회원가입부터 하세요) ('가입되지 않은 계정, 아이디입니다'로 뜨겠지)

 

= 회원가입 과정에서

우리에게 있는 이메일을 친다면 에러이고 끝이다. 

'가입된 계정, 이미 있는 계정입니다'로 나오겠지.