
[ JWT는 토큰을 준다 ]

JWT는 이런 형식의 토큰을 준다. 쿠키를 사용하는 방식은 로그인을 하면 SET COOKIE <- 알지? 클라이언트는 요청할 때마다 자동으로 쿠키를 들고 가고, 서버는 Jsession영역을 통해서 값이 있는지 검증하는데, JWT도 사용자가 서버에 요청을 보낼 때는 Authorization 헤더에 토큰을 담아서 전송한다. * 토큰은 복호화 가능! (Base64로 인코딩 됨) 토큰은 누가 잠궜는지 신뢰성이 중요하다. (토큰 안에는 노출되어도 상관 없는 클라이언트 정보 username, ssar 이런게 있음)
[ 브라우저는 토큰을 버린다 ]
토큰을 주면 브라우저는 자동으로 토큰을 저장하거나 관리하지 않는다!! (* 토큰을 저장하는 프로토콜은 없어요) 토큰 기반 인증 시스템을 쓰는 순간 브라우저는 할 수 있는게 없다. -> 개발자는 로그인 성공 후 받은 토큰을 직접 관리해야 한다. (자바스크립트와 같은 클라이언트 사이드 스크립트를 사용하여 토큰을 저장하고, 필요할 때마다 이를 사용하여 서버에 요청해야함...) 서버와의 비동기 통신(AJAX 요청)을 할 때, 로그인이나 인증이 필요한 요청을 보낼 경우 Authorization 헤더에 앞서 저장해 둔 토큰을 포함시켜서 서버로 보내야한다. 이 토큰을 통해 서버는 요청을 보낸 사용자가 누구인지 확인하고, 해당 사용자에게 필요한 권한이 있는지를 검증해 요청을 처리하게 된다.
SSR 프로젝트에는 토큰 기반을 적용하면 안 된다. 다 세션 사용해야 함.
서버 많아지면 레디스 써야하고.
[ 개발자는 받은 토큰을 직접 관리해야 한다 ]

이런식으로 우리가 직접 저장해야함!! 이걸 꺼내서 들고가서 요청해야하는 것임 자바 스크립트로..!! 세션은 그냥 자동으로 다 해줬는데...
[ localStorage ]

localStorage.setItem 으로 저장되었죠?

안에 있죠? 이런 식으로 저장해놓고 내가 꺼내 써야함
Share article