1. 회원가입 페이지 만들기
- 해시함수 : 암호화 함수로서, 임의의 데이터를 입력 받아 랜덤한 길이의 값으로 변환하는 함수
- 입력한 값이 조금만 바뀌어도 완전히 다른 값을 만들어낸다.
- 결과값으로 입력된 값을 전혀 유추해낼 수 없다. (입력된 패스워드를 알아낼 수 없다)
회원가입/로그인은 3가지 페이지가 필요함
1) 로그인 페이지
2) 회원가입 페이지
3) 로그인 이후 페이지
로그인 기능 진행 순서
- id/pw를 user로부터 받고, (pw는 암호화를 해서 저장)
- id/암호화된 pw와 매칭되는 user가 있는지 확인 -> user가 있으면 (result is not None) JWT 토큰을 클라이언트에게 줌 (login ID+언제까지 유효한지(datetime.tiledelta에 대한 정보)
-> 그 정보를 다시 서버만의 특별한 키(직접 세팅 가능)를 이용해서 다시 암호화해서 user에게 전달
나중에 클라이언트가 JWT를 주면, 특별한 키를 통해 decode하여 ID를 보고 확인
cookie (브라우저 자체 정보)
- token_receive = request.cookies.get('mytoken')
- 브라우저가 dictionary 형태로 항상 저장하고 있는 정보인 쿠키에, mytoken이 있는지 확인하는 것 (있다면, 로그인 성공)
- 디바이스의 특정 브라우저에 있는 정보라 디바이스마다 새롭게 로그인 해야 함
- 로그인 기능은 쿠키와 JWT 토큰을 통해 이루어지고, 쿠키를 통해 유지된다.
로그아웃