위에서 설명했듯이 구글 카카오등에서 제공하는
JWT란 JSON포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token이다.
사용자의 인증 작업을 처리하는 것이 목적.(주로 회원인증이나 정보 전달에 사용)
토큰의 페이로드에 3종류의 claim을 저장하기 때문에, 정보가 많아질 수록 토큰의 길이가 늘어나 네트워크에 부하를 줄 수있다.
중간에 payload를 탈취하여 디코딩(페이로드 자체는 암호화된것이 아니라 BASE64Url로 인코딩 된것이기 때문)하면 데이터를 볼 수있으므로 JWE로 암호화 하거나 Payload에 중요 데이터를 담지 않아야한다.
토큰은 상태를 저장하지 않기 때문에 한번 만들어지면제어가 불가능 즉, 토큰을 임의로 삭제하는것이 불가능 하므로 토큰 만료 시간을 넣어주어야함.
클라이언트 측에서 토큰을 관리해야하기 때문에 클라이언트에서 토큰을 저장해야한다.(기존은 서버 기반 인증)