JSON Web Token 의 약자
HTTP는 기본적으로 State-less(서버가 클라이언트의 상태를 가지고 있지 않은 것)를 지향한다.
장점 1. 서버의 확장성이 높고, 대용량 traffic 대처 가능
장점 2. (서버가 분리된 경우) 특정 DB/서버에 의존하지 않아도 인증 가능
단점 1. 비교적 많은 양의 데이터가 반복적으로 전송되으로 N/W 성능 저하의 가능성이 있음
단점 2. 데이터 노출 -> 보안문제
헤더 : 토큰 타입, 암호화 알고리즘
페이로드 : Data, 발급일/만료일
시그니처 : 위 두개가 변조되었는지 확인하는 역할
토큰 : 토큰이 보안, 유저데이터 관리
서버 : 서버가 보안, 유저데이터 관리
액세스 토큰: 서버 API를 직접 요청할때 사용 (주기: 1시간)
리프레쉬 토론: 액세스 토큰(만료되었을 때)을 재발급할 목적으로 사용 (주기:2주)
토큰 기반 인증: 가볍고 확장성이 좋은 방식
세션 기반 인증 : 무겁지만 보안성이 좋은 방식