1. 회원가입 & 로그인 Flow
Client - 크롬,사파리,어플 등등..
Server - 인증,인가
Database - mysql, 오라클 등등
회원가입 - 성공
회원가입 - 실패(이메일 중복)
회원가입 흐름
- 프론트엔드에게 api와 연결되어있는 엔드포인트와 서버의 ip주소 알려주기
- 해당 엔드포인트로 클라이언트에서 필요한 값(이메일, 비밀번호 등)을 body에 담아 request
- 받은 이메일의 중복 여부를 database 통해 조회
- 존재하는 이메일일 경우 Response로 ERROR 반환
- 입력 받은 이메일과 비밀번호의 형식이 사이트의 기준과 부합하지 않을 경우 Response로 ERROR 반환
- 부합할 경우 database에 해당 회원의 정보를 저장하고 SUCCESS 메세지와 상태코드 201을 Response로 반환
로그인 - 성공
access_token을 건내 줘야 다음 로그인 성공한 회원이 이 서버에 또 들어올 수 있음
로그인 - 실패
로그인
- 프론트엔드에게 api와 연결되어있는 엔드포인트와 서버의 ip주소 알려주기
- 해당 엔드포인트로 클라이언트에서 필요한 값(이메일, 비밀번호)을 body에 담아 request
- 받은 이메일이 유효한 회원인지, database 조회를 통해 검증
- 존재하지 않는 이메일일 경우 Response로 ERROR 반환
- 존재하는 이메일일경우, 회원의 비밀번호와 입력 받은 비밀번호가 일치하는지 확인
- 일치하지 않을 경우 Response로 ERROR 반환
- 일치할 경우 해당 회원을 식별할 수 있는 값(access_token)을 담아 token을 생성해 Response로 반환
2. 서버 외부 접속 허용
동일 wi-fi
내 ip주소
- Linux :
hostmane -I
- Mac :
ipconfig getifaddr en0
엔드포인트 request target 주소
- 회원가입 : ip주소/user/signup
- 로그인 : ip주소/user/signin
서버구동
python manage.py runserver 0:8000 #0:8000 이 부분 꼭 쓰기
3. 예외처리
회원가입
- Key error
- Duplicated account
로그인
- Key error
- Account does not exist
- Unauthorized (401)