토큰/세션/쿠키 차이점
jwt 랑 그냥 토큰 차이
JWT가 무엇인지
이거 다시 공부하고 재정리 업데이트
____________________________________
강의는 듣고 뒤돌면 또 까먹으니까 무한 반복을 해보즤아
그래봤자 내 경우 3번-5번이면 해결되는 편이니 그냥 듣자. 익숙해질때까지
파이썬 장고 실무 심화 3주차 [3-5 jwt 정보 확인하기] 1차는 그냥 들었고 지금 다시 듣는중이다.
아래는 정리
POSTMAN에서 refresh와 access url을 복붙하기
https://jwt.io/ 이 사이트에 들어가서 Encoded부분에 넣기
빨간색/보라색/파란색 부분을 확인해보자
빨간부분이 헤더이며 어떤 알고리즘으로 되었고 어떤 타입인지 볼 수 있다.
보라색부분은 데이터를 가지고있다고 보자.
Header와 Payload는 http로 이해하면 쉽다.
(헤더부분에 어떤 메타데이터가 있는지, payload에 실제 쓰이는 데이터가 있다고 이해)
verify signature은 주민등록증에서 마지막 인감부분이라고 생각하자.
현재 창에서 signature가 verified가 안되었다고 나옴. (주민등록증 인감이 올바르지 않다고 생각하면 쉽다)
settings.py에 가서 보면 SECRET_KEY가 있다
이게 바로 우리의 비밀!
이걸 입력하면 제대로 된 토큰이다 하고 판단해준다.
SERCRET KEY는 때문에 아주 중요! 노출이 되지 않도록 관리를 해야한다 안그러면 나중에 조작되고 이용당한다 ㅜㅜ
access 토큰은 사용하고 난뒤, 만료가 된다 프론트에서 저장하고 로컬스토리지에 가져올수있음. 이 안에 만료날짜가 있고 사이트에서 저절로 로그아웃될 수도있음.
무한정 access토큰을 주었을때 누군가 도용하고 사용할 수 있다.
갱신을 할때 이 사람이 맞는지 확인을 다시한다.
access 토큰을 이용해서 접근을 하고 만료되면 refresh 토큰을 이용해서 access토큰을 재발급 받는 로직을 프론트엔드에서 할 수있다.
그렇기때문에 jwt 토큰의 경우, 보안상의 이유때문에 refresh 토큰이용하고 기간도 세팅이 가능하다
이 access토큰을 브라우저에 저장해서 가지고있으면 이것을 매번 사이트에 제출하면 장고에서 디비 조회안해도 신원확인해준다.
이런 정보가 jwt에 있는게 쿠키, 세션과 큰 차이.
이 정보가 토큰에 있냐 아니면 디비 세션에 있냐의 차이.