사용자정보를 JSON객체에 담아 이를 암호화하고 해싱작업을 거쳐 문자열 토큰을 생성하는 기술. 사용자 정보와 권한을 명시해준다.
클라이언트는 이 토큰을 HTTP Header에 추가하여 요청을 보냄으로 사용자 인증을 얻게 된다. 이로인해 보안성이 증가한다.
서버에 저장되지 않기에 서버에 부하를 일으키지 않으며, 해싱을 통해 데이터의 무결성을 보장하는 인증방식
JWT는 Header(헤더) Payload(내용) Signature(서명)의 구조로 이루어져있다.
헤더 (header)
헤더에는 typ과 alg 속성을 명시 한다.
내용 (payload)
토큰에 대한 데이터를 작성해준다. ex)userIdx, userId 등...
서명 (signature)
서명에서는 헤더(header)의 인코딩 값과 내용(payload)의 인코딩 값을 연결하여 비밀키로 해싱해준다. 암호화 작업