機能
JSON Web Token(JWT)は、ドットで区切られた 3 つの部分からなるコンパクトな文字列です:署名アルゴリズムを示す ヘッダー、ユーザーやセッションに関するクレームを持つ ペイロード、そして 署名 です。JWT はログインセッション、OAuth 2.0 のアクセストークン、OpenID Connect の ID トークンに使われています。
ヘッダーとペイロードは Base64URL でエンコードされているだけで、暗号化されてはいません。このツールはそれらを読みやすく整形された JSON にデコードし、標準の時刻クレームを説明します。トークンが誰のためのものか、どの権限を持つか、有効期限が切れているかを確認できます。
使い方
- エンコードされたトークン にトークンを貼り付けます。Authorization ヘッダーから付いてくる先頭の
Bearerは自動で取り除かれます。 - ステータスのバッジを確認します:有効期限内、期限切れ、まだ有効ではありません、有効期限なし のいずれかです。
- 発行日時、有効開始日時、有効期限を確認します。ローカル時刻と Unix 秒の両方で表示されます。
- コピー ボタンで、整形されたヘッダーやペイロードの JSON をコピーします。
例
サンプルのトークンのヘッダーとペイロードは次のとおりです:
{ "alg": "HS256", "typ": "JWT" }
{
"sub": "1234567890",
"name": "张三 Jane Doe",
"roles": ["admin", "editor"],
"iat": 1700000000,
"exp": 4102444800
}
よく使われるクレーム
iss発行者、sub主体(通常はユーザー ID)、aud対象者iat発行日時、nbf有効開始日時、exp有効期限(いずれも Unix 秒)jti一意のトークン ID。トークンの失効によく使われます
よくある質問
› ここにトークンを貼り付けても安全ですか?
トークンはブラウザ内でデコードされ、どこにも送信されません。それでも本番環境のトークンはパスワードと同じように扱ってください。有効なトークンを持っている人は、期限が切れるまでそれを使えます。
› このツールは署名を検証しますか?
いいえ。検証には秘密鍵(HS256)または発行者の公開鍵(RS256、ES256)が必要です。デコードは中身を読むだけで、その中身は暗号化されておらず Base64URL でエンコードされているだけです。サーバーで検証していないトークンのクレームは決して信用しないでください。
› 「期限切れ」と表示されるのはなぜですか?
exp クレームが端末の現在時刻より前になっています。時計が正しいことを確認してから、発行者に新しいトークンを要求してください。
› 暗号化されたトークン(JWE)もデコードできますか?
いいえ。JWE は 5 つの部分からなり、ペイロードが暗号化されているため、復号鍵がなければ読めません。