과제3을 끝내지 못한 상황에서
회원가입signup은 할 수 있으나 로그인signin은 동작하지 않으므로
위코드 깃허브에서 트레이닝 소스코드를 클론하고 실행해보았다
백엔드인 내가 할 일은 서버를 켜고 프론트엔드가 회원가입 요청을 보내면 상태코드 확인 및 DB에 저장된 값을 확인하는 것
아직 학습하지 못한 layered pattern으로 짠 코드이기에 이해하기 어려운 것은 당연한 것일지도 모르지만
jwt토큰 검증 과정을 직접 짠 코드로 확인해보지 못했기에 더욱 뒤쳐져있다는 느낌이 강하게 들어서 부담감이 크다
cd desktop
mkdir auth
cd auth
git clone (복사한 깃허브 주소)
$ npm install
touch .env
$ mysql -u root -p # mysql 접속하기
# mysql 비밀번호 입력
mysql> create database expressAuth; # 데이터베이스 생성하기
mysql> use expressAuth; # 데이터베이스 사용하기
$ dbmate up # dbmate 업로드 실행
$ npm start # API서버 실행하기
$ ipconfig getifaddr en0 # 내ip주소 확인하기
mysql> SELECT * FROM users;
문제 해결 방법: console.log() 찍어보기
프론트엔드가 회원가입signup을 요청했을 때:
- 상태코드 400 Bad Request
- 원인: email, password를 입력받아야 하는데 id, password가 body에 담겨있어서
email 양식에 맞게 작성하지 않아서 400에러가 발생했다
email입력 양식에 맞게 썼는데 400 에러가 발생했다. 왜일까?
👉 이미 등록된 email이라서,
👉 로그인하려는 의도였다면 프론트엔드에서 url을/signin
으로 바꿔야 한다
로그인 성공
로그인 실패