쿠키= 그냥 정보 옮기는시스템

쿠키를 이용해서 서버는 너의브라우저에 데이터를 넣을 수 있음
너에관한것을 기억하기위함임

서버는 요청 응답
응답에는 모든데이터가와 페이지정보가 담겨있음

브라우저에 저장하고있는 쿠키가 있음
 브라우저에 쿠키를 저장 
방문할때마다
브라우저는 해당쿠키도 요청에 보냄
쿠키는 도메인에 제한됌
유뷰브에준쿠키는 유튜브에만줌

쿠키는 인증뿐만아니라 여러가지 정보를 저장하수있음

웹사이트언어를 바꾸면 어떤언어로바꿧는지 저장해서

페이지방문할때 그언어를 제공하게됌

 

http stateless 서버로가는 모든 요청이 이전리퀘스트와 독립적으로 다뤄짐
요청이 끝나면 서버는 우리가 누군지 잊어버림
요청이 끝날때마다 우리가 누군지알려줘야함

 

그방법중 하나가 session임 
비번이 맞다면 서버는 세션디비에 유저를 저장할꺼야
해당세션아이디는 쿠키를 통해 브루아저를 돌아오고 저장됌
브라우저는 세션 id를 갖고있는서버에게 보낼꺼야
쿠키는 자동으로 보내짐
세션아이디와함꼐하는 쿠키를 보겠지
세션아이디가이는 쿠키를 지닌요청이 있다는것만 알뿐이지
해당세션아이디가 가지고있는 세션디비는 이세션아이디가 누구인지 알수있음

해당요청이 끝나고 다른페이지로 이동하게 되면 모든프로세스가반복
중요한 유저정보는 모두 서버에 있다는거임
유저가 갖고있는거는 세션아이디밖에없음
쿠니느 세션아이디를 전달하기위한 매개체이룬임
세션을 이용해 ios 안드로이드 어플을 쓸수있지만

쿠키는 네이티브앱에없음

 

바로 이경우 토큰을 이용해 서버에게 토큰을 보냄
토큰은 이상하게 생긴 스트링임
서버는 세션디비에서 해당토큰과 일치하는 유저를 찾을꺼임

 

세션
현재 로그인유저들의 모든세션아이디를  서버에 저장하는거임
요청이 있을때마다 디비를찾아야함
유저가 늘어남에따라 디비리소스가늘어남

 

이떄 jwt 토큰이나타남
이걸 가지고있으면 서버는 유저인증한다고 많은 일을 할필요가없음
토큰은 모든 요청마다 보내야함

 

사용자가 로그인할떄 아이디와 비번을보내고 맞다면 서버는 디비에 뭔가를 생성하지않음

하지만 서버는 유저의 아이디를 가져다가 사인 알고리즘을 이용해 사인함
사인한정보를 스트링형태로 보낼꺼야
jwt 제약이없음 쿠키는 공간제약이있음

db를 건드리는대신 사인하고 보내는게다임

서버에 요청을 하는 사인된정보혹은 토큰을 서버에 보내야함
서버는 토큰을 받으면 해당사인이 유효한지 체크하고
토큰이 유효한다면 서버는 우리를 유저로 인증할꺼야

세션과 jwt의 차이점임
세션에 대한 모든정보는 세션 디비에저장되어있음
서버는 세션아이디를 디비에서 찾으면된거임

jwt에선서버는 유저를 인증하는데 필요한 정보를 토큰에 저장함

그리고 해당토큰을 우리에게줌
페이지를 요청하면 서버는 해당토큰이 유효한지만 검증하면되지
jwt는 암호화되지 않았음
jwt의 경우 누구나 열어서 해당컨텐츠를 볼수있음

핵심은 토큰을 사인하고 이를통해 유효한지 검증하는거임

 

세션 jwt 
장점 단점

서버는 로그인된유저의 모든정보를 저장해
해당정보를 이용하면 새로운기능들을 추가할수있게되지
특정유저를 쫒아내고싶ㅇ르때 세션을 삭제하면되지
인스타그램처럼 원하지않는디바이스에서 원하는 계정을 로그아웃할수있음

서버가 누가로그인했느니 저장했고 세션디비가 있기때문

이렇게 다 알고싶다면 디비를 사고 유지해야함
유저가 늘어나면 날수록 디비가 늘어나겠지 redis를 보통사용하지

jwt를 사용하면 생성된 토큰을 추적하지않음 토큰이 유효한가임

하지만 강제 로그아웃기능을 쓸 수 있음
토큰이 만료되기전까진 유효하니까

jwt는 데이터를 사인하고 돌려받을때 유효성을 검증받을 수있지

qr체크인은 jwt가 들어간거임

세션이나 db없이유저를 인증하는거고 jwt인증의 제약만 잘알면댐

서비스가 클때 세션으로 작을때는 jwt ㄱㄱ

 

쿠키= 그냥 정보 옮기는시스템
토큰=서버가 기억하는 이상하게 생긴 텍스트 =id카드
jwt= 정보를 갖고있는 토큰 db없이 검증할수있음
유저 인증을위해서 jwt 세션을 사용할수있음

'인증,암호' 카테고리의 다른 글

대칭키와 비대칭키 , 전자서명 간단히 정리  (0) 2022.05.13
회원방법 인증론 +(쿠키,쎄션 ...등등)  (0) 2022.04.21
암호학  (0) 2022.04.05
복사했습니다!