JWT: Difference between revisions

From CS Wiki
No edit summary
No edit summary
Line 11: Line 11:
* '''쉽게 전달'''
* '''쉽게 전달'''
** 웹서버의 경우 HTTP의 헤더에 넣어서 전달 할 수도 있고, URL 의 파라미터로 전달 할 수도 있음
** 웹서버의 경우 HTTP의 헤더에 넣어서 전달 할 수도 있고, URL 의 파라미터로 전달 할 수도 있음
== 구성 ==
;세 파트로 나뉘어지며, 각 파트는 점(.)에 의해 구분
ex) xxxxxxxxxxxx.yyyyyyyyyyyyyy.zzzzzzzzzzzzz
* Header: 토큰의 타입과 해시 암호화 알고리즘으로 구성
* Payload: claim 정보 포함. userId, expire, scope 등
* Signature: secret key를 포함하여 암호화한 서명정보

Revision as of 08:07, 12 September 2019

JSON Web Token
RFC 7519
두 개체에서 JSON 객체를 사용하여 가볍고 자가수용적인 (self-contained) 방식으로 정보를 안전성 있게 전달하는 방식

특징

  • 호환성
    • C, Java, Python, C++, R, C#, PHP, JavaScript, Ruby, Go, Swift 등 대부분의 주류 프로그래밍 언어에서 지원
  • 자가수용적(self-contained)
    • JWT 는 필요한 모든 정보를 자체적으로 지님
    • JWT는 토큰에 대한 기본정보, 전달 할 정보(페이로드), 전자서명
  • 쉽게 전달
    • 웹서버의 경우 HTTP의 헤더에 넣어서 전달 할 수도 있고, URL 의 파라미터로 전달 할 수도 있음

구성

세 파트로 나뉘어지며, 각 파트는 점(.)에 의해 구분

ex) xxxxxxxxxxxx.yyyyyyyyyyyyyy.zzzzzzzzzzzzz

  • Header: 토큰의 타입과 해시 암호화 알고리즘으로 구성
  • Payload: claim 정보 포함. userId, expire, scope 등
  • Signature: secret key를 포함하여 암호화한 서명정보