Westagram #1 : 회원가입/로그인 + 암호화

채록·2021년 2월 8일
0

Python & Django

목록 보기
15/34
post-thumbnail

👑 Flow

  • project, app 생성
  • my_secret.py 생성 (SECRET, DB정보 등 담고 .gitignore에 추가하기)
  • models.py 작성
  • shell 확인
  • views.py 작성
  • urls.py 작성



- PJ, app 생성

django-admin startproject westagram .
python manage.py startapp user


my_secret.py 생성

원격 저장소에 민감한 정보는 올리지 않기 위해 따로 빼서 관리한다.
이 파일은 .gitignore에 등록한다! (이러면 자동적으로 git push 에서 제외된다.)




- models.py 작성

  • 회원가입 : email, password, name(닉네임), phone_number
  • 로그인 : login_id(email or name or phone_number), password


🌟 point

  • 중복되는 값의 입력을 허용하지 않는다는 의미로 unique=True로 설정한다.
  • 이후 암호화 과정으로 password가 더 길게 저장될 것을 대비해 넉넉하게 300자로 제한한다.



- shell 확인

회원가입은 매우 간단하므로 pass..!
로그인은 POST method 이지만 create 를 위한것이 아니므로 pass..!!





- views.py 작성

  • 회원가입 : POST method
  • 로그인 : POST method

🌟 point

  • 회원가입시 입력한 password는 bcrypt를 통해 암호화 되어 db에 저장된다.
  • 로그인시 입력한 password는 암호화 된 상태가 저장된 정보와 일치하는지 확인 과정을 거친다.
  • 로그인 성공시 token을 발행해 준다.



urls.py 작성

  • 회원가입 : /user/signup
  • 로그인 : /user/signin



끝!

중요한 부분은 로그인 시 발행되는 토큰 이다.
앞으로 user 가 로그인 하여 발행받은 토큰은 request의 새로운 parameter에 저장 (request.user)되어 다른 행위를 할때 토큰이 항상 같이 전달될 것이다. 즉, 로그인 한 유저만 다음 행위를 할수 있게 제한 할 수 있다.

profile
🍎 🍊 🍋 🍏 🍇

0개의 댓글