Service
home
WOW Onboarding
home
👤

로그인 대소동

세션방식 vs 토큰방식

로그인 기능 구현

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

python manage.py createsuperuser 을 했을 때 아래와 같이 입력 창이 뜸
name: 닉네임 입력, 중복 안 됨
username: 실제 사용하지 않는 필드, 그치만 유저모델에서 username필드를 이메일로 설정했으니까 이메일이랑 같은 값 넣어주는 게 안 헷갈릴 듯
admin 페이지에서 유저들을 확인할 수 있음