개발일지: 항해99 1일차 (로그인)

Kim Minsun·2022년 7월 12일
0

항해99 8기 TIL

목록 보기
1/7
post-thumbnail

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를 보고 확인

  • token_receive = request.cookies.get('mytoken')
  • 브라우저가 dictionary 형태로 항상 저장하고 있는 정보인 쿠키에, mytoken이 있는지 확인하는 것 (있다면, 로그인 성공)
  • 디바이스의 특정 브라우저에 있는 정보라 디바이스마다 새롭게 로그인 해야 함
  • 로그인 기능은 쿠키와 JWT 토큰을 통해 이루어지고, 쿠키를 통해 유지된다.

로그아웃

  • 쿠키 삭제

0개의 댓글