더이상 미룰 수 없다 ! 이해하고 싶다 ! JWT 토큰을 이용한 로그인페이지 ! 나도 제발 이해하고 싶다 !!
그래서 토이프로젝트 팀원 분의 코드를 뜯어보며 조금이라도 이해해 보려 한다. (직접 코드작성은 못함 ^_ㅠ)
1. 필요한 라이브러리 import 하기.
2. 로그인
- 로그인을 위해 인풋박스에 이메일과 패스워드 id를 지정하고 let data로 변수를 지정한다.
- 그리고 ajax를 통해 제이슨 형식으로 로그인정보를 저장해 서버로 보내준다.
- 서버에서 이메일정보와 패스워드 정보를 받아 확인하고 if 함수를 통해 이메일이 존재하지 않으면 오류 메시지를 리턴한다.
- 이메일 정보가 맞다면 비밀번호가 일치하는지 확인하고, 비밀번호가 맞지 않으면 오류 메시지를 클라이언트쪽으로 리턴해 준다.
- 그리고 모두 오류가 없다면 토큰을 생성한다.
- 그 후 로그인 성공 메시지를 토큰을 담은 쿠키와 함께 리턴한다.
- 마지막으로 서버가 요청을 제대로 처리했다는 의미로 200을 리턴해 준다.
3. 로그아웃
- 로그아웃 버튼이 click이 되면 이 정보를 get함수로 서버단에 전달한다.
- 서버단에서 로그아웃 성공 메시지를 화면에 띄워주도록 하고 동시에 쿠키를 없애준다.
- 화면단에서 화면을 새로고침하여 다시 보여준다.
4. 유효성 검사
- 유효성 검사 사용할때는 서버단에 @jwt_required()가 있으면 된다.
- 이메일정보와 패스워드 정보가 일치한다면, 로그인 박스를 숨겨준다.
- 일치하지 않는다면 로그인박스를 보여준다.
- 서버단에서는 로그인정보를 확인하여 토큰에 저장된 데이터가 일치하지 않으면 result값이 fail임을 리턴해 준다.
- 만약에 로그인 정보가 일치한다면 토큰에 저장된 데이터를 불러온다.
5. 갱신
- jwt 토큰은 만료를 정해주지 않으면 그대로 남기 때문에 만료와 갱신에 신경써야한다.
- Access_token 의 기간이 만료되면 Refresh_token을 가지고 Access_token을 재발급 받아야 한다.
- 그래서 토큰 시간이 만료되기 전에 프런트에서 refresh 요청을 보낸다.
더보기

flask-bcrypt 를 임포트 하는 과정에서 파이썬 버젼이 맞지 않아 계속해서 오류가 떴다.
터미널창을 이용하여 python3 버전을 업그레이드 해주었더니 오류를 해결 할 수 있었다.
파이썬3 업그레이드 명령어 : pip3 install --upgrade pip

[출처] : https://littlezero48.tistory.com/69 (우리팀에 소영님 없으면 어쩔뻔 했나요 ..♥ 감사합니다)
이렇게 정리를 했는데도 이해 못하는 나. ^^ 언젠가 이해하는 날이 오겠지 ... 후
내일은 민승님이 구현하신 회원가입 코드를 뜯어봐야 겠다. 괜찮아 ... 언젠가 이해할거야 ... 괜찮아 .... ㅜ
'항해99 개발 일지 > [0주차] 토이프로젝트' 카테고리의 다른 글
항해99 10기 16조 사전토이프로젝트 결과물 (0) | 2022.11.04 |
---|---|
메인페이지 수정 - Flask (정적 라우팅 / 동적 라우팅) (0) | 2022.10.31 |
메인페이지 만들기 - Javascript 페이지 이동 (0) | 2022.10.30 |
토이프로젝트 기획서 (0) | 2022.10.26 |
토이프로젝트 기획 (0) | 2022.10.25 |