[Django]로그인 & 회원가입 구현

Jimin_Note·2022년 6월 15일
0

🌱Django

목록 보기
13/13
post-thumbnail

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)
profile
Hello. I'm jimin:)

0개의 댓글