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: トークン有効期限切れ時間(expiration)
- オプション値
- 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
この記事は役に立ちましたか?