JSON Web Token
- 인쇄
- PDF
JSON Web Token
- 인쇄
- PDF
Article Summary
Share feedback
Thanks for sharing your feedback!
Classic/VPC 환경에서 이용 가능합니다.
인증에 필요한 JSON Web Token(JWT) 인증 방식을 설명합니다.
Header (헤더)
Header 구성은 다음과 같습니다.
- alg: 서명(signature) 생성 시 사용한 해시 알고리즘
- HS256 지원(HMAC SHA256)
- typ: 토큰 타입
- JWT 형식만 지원
Header 사용 예시는 다음과 같습니다.
{
"alg": "HS256",
"typ": "JWT"
}
Payload (내용)
Payload 구성은 다음과 같습니다.
- path: 토큰의 적용 대상 URL 경로
- 필수값
- * 사용 가능
- exp: 토큰 만료 시간(expiraton)
- 옵션값
- NumericDate 형식 <예시> unix timestamp
- nbf: 토큰 활성 시간(Not Before)
- 옵션값
- NumericDate 형식 <예시> unix timestamp
- cip: 클라이언트 IP 대상
- 옵션값
- CIDR 사용 가능
Payload 사용 예시는 다음과 같습니다.
{
"path": "/foo/bar/example.mp4",
"exp": 1672455600,
"nbf": 1669258800,
"cip": "192.168.200.0/24"
}
Signature (서명)
Signature를 생성하는 방법은 다음과 같습니다.
- Header와 Payload를 각각 Base64 URL로 인코딩해 주십시오.
# as-is { "alg": "HS256", "typ": "JWT" } # to-be {"alg":"HS256","typ":"JWT"} # Base64 URL 인코딩 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
참고Base64 URL로 인코딩하는 과정에서 JSON의 공백이나 엔터값은 제거됩니다.
- 마침표(.)를 구분자로 사용하여 인코딩된 Header와 Payload를 연결해 주십시오.
- 연결된 문자열을 Secure key와 함께 알고리즘(HMAC SHA256)으로 해시값을 추출해 주십시오.
참고
Signature 생성 및 검증을 https://jwt.io/에서 테스트할 수 있습니다.
사용 형식
사용 형식과 참고할 수 있는 예시는 다음과 같습니다.
- Query Token
- JWT 토큰을 쿼리스트링에 사용하여 요청 가능
- 사용 예시
# Query 형태 https://example.com/foo/bar/example.mp4?<JWT 토큰 이름>=<JWT token> # 예시 https://example.com/foo/bar/example.mp4?globaledgejwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXRoIjoiL2Zvby9iYXIvZXhhbXBsZS5tcDQiLCJleHAiOjE2NzI0NTU2MDAsIm5iZiI6MTY2OTI1ODgwMCwiY2lwIjoiMTkyLjE2OC4yMDAuMC8yNCJ9.65cikBSh0rsrH1-2Q87HSK7v3-KExYe-B1wpaTZTQ2o
이 문서가 도움이 되었습니까?