세션방식 vs 토큰방식
rest framework를 사용한 토큰 방식으로 진행
TISTORY[Django] DRF의 simple-jwt를 이용한 로그인 기능 구현 (1)
[DRF] JWT 인증을 사용한 회원가입&로그인

로그인 기능 구현
Models
Custom User 모델
장고에서는 기본적으로 User모델을 제공
커스텀 유저 모델을 사용하는 방법
•
표준 User 모델과 1대1 상속 관계를 만듦
◦
기존의 속성을 반드시 사용해야 함
◦
테이블이 나뉘어 web 퍼포먼스가 나빠짐
•
AbstractUser 상속받기
◦
django.contrib.auth.models에 정의되어 있음
◦
속성 추가만 가능하므로 유연성이 낮음
•
AbstractBaseUser 상속받기
◦
완전히 커스터마이징하고 싶을 때 사용, 기본적으로 pw 필드 하나만 설정되어 있음
◦
세팅이 어렵지만 커스터마이징 하기 좋음
Serializers
: Django 데이터 → json 변환 후 클라이언트에 전달 or json → Django 데이터 변환 후 서버에 전달
회원가입
/auth/register: name(nickname), email, password를 사용하여 회원가입
→ 유저를 생성하면 토큰이 생성됨
로그인
/auth/login: 이메일과 패스워드를 사용해서 로그인
•
이메일과 패스워드가 일치하는 유저가 있으면 로그인 성공
•
token, user_id, reliability, profile_img_url 반환
•
유저 정보가 일치하지 않으면 로그인 실패
SuperUser
•
name: 닉네임 입력, 중복 안 됨
•
username: 실제 사용하지 않는 필드, 그치만 유저모델에서 username필드를 이메일로 설정했으니까 이메일이랑 같은 값 넣어주는 게 안 헷갈릴 듯
•
admin 페이지에서 유저들을 확인할 수 있음