JSON Web Token
    • PDF

    JSON Web Token

    • PDF

    Article Summary

    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를 생성하는 방법은 다음과 같습니다.

    1. Header와 Payload를 각각 Base64 URL로 인코딩해 주십시오.
      # as-is
      { 
          "alg": "HS256", 
          "typ": "JWT" 
      } 
      
      # to-be 
      {"alg":"HS256","typ":"JWT"} 
      
      # Base64 URL 인코딩 
      eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
      
      참고

      Base64 URL로 인코딩하는 과정에서 JSON의 공백이나 엔터값은 제거됩니다.

    2. 마침표(.)를 구분자로 사용하여 인코딩된 Header와 Payload를 연결해 주십시오.
    3. 연결된 문자열을 Secure key와 함께 알고리즘(HMAC SHA256)으로 해시값을 추출해 주십시오.
    참고

    Signature 생성 및 검증을 https://jwt.io/에서 테스트할 수 있습니다.
    globaledge-jwt-1

    사용 형식

    사용 형식과 참고할 수 있는 예시는 다음과 같습니다.

    • 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
      

    이 문서가 도움이 되었습니까?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.