개선점]
비교적 보안강화 (쿠키와 달리 서버-클라 통신간에 개인정보가 아닌, 그러한 데이터 공간의 key인 세션ID를 주고받음. 따라서 세션ID가 탈취되어도 당장 개인정보가 유출된 것은 아님.)
단점]
토큰기반 인증?
개선점]
단점]
쿠키/세션에 비해 토큰 자체의 용량이 커서 네트워크 부하가 심해질 수 있다.
signature를 통해 토큰의 진위를 파악할 수는 있으나, payload 내용 자체를 암호화하는 것은 아니기 때문에 사용자의 주요 정보는 담을 수 없다.
토큰자체를 탈취당하면 대처하기 어렵다. (이미 토큰에 사용자 인증까지 완료된 상태이므로… 따라서 토큰도 만료시간을 설정하는 식으로 이를 극복한다.)
header : JWT에서 사용할 타입과 해시알고리즘 종류
payload : 토큰에 담을 정보. content. (서버에서 첨부한 사용자 권한 정보와 데이터)
signature : header와 payload의 인코딩 값을 합친 뒤, 비밀키로 hash하여 생성한다.
- [클라이언트] 사용자가 ID, PW를 입력하여 서버에 로그인 인증을 요청한다.서버에서 클라이언트로부터 인증 요청을 받으면, Header, PayLoad, Signature를 정의한다.