JSON웹토큰 (JWT)

Jmnote (토론 | 기여)님의 2016년 9월 25일 (일) 21:35 판 (→‎예시)

1 개요

JSON Web Token; JWT
제이슨 웹 토큰
  • JSON 형식 웹 토큰
  • 토큰 생성에 관한 JSON 기반의 공개 표준 (RFC 7519)
  • 구성: 헤더, 페이로드, 시그니처
  • 쿠키, 세션 대안

2 예시

header = '{"alg":"HS256","typ":"JWT"}'

payload = '{"loggedInAs":"admin","iat":1422779638}'

key           = 'secretkey'
unsignedToken = encodeBase64(header) + '.' + encodeBase64(payload)
signature     = HMAC-SHA256(key, unsignedToken) 

token = encodeBase64(header) + '.' + encodeBase64(payload) + '.' + encodeBase64(signature)
// eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI

3 표준 필드

필드 영어 한국어 비고
iss issuer 발행자 JWT의 발행자
sub subject 제목 JWT의 제목
aud audience 청중 JWT가 의도한 접수자
exp expiration time 만료일시 JWT가 만료(무효화)되는 일시
nbf not before 시작일시 JWT가 시작(유효화)되는 일시
iat issued at 발행일시 JWT가 발행되는 일시
jti JWT ID JWT 아이디 토큰의 유니크식별자. 대소문자 구별
typ token type 토큰 타입
cty content type 컨텐트 타입 항상 JWT
alg message authentication code algorithm 메시지인증코드 알고리즘

4 같이 보기

5 참고 자료