JWT オンラインデコード

ローカル処理
app.jwt.view

次の方法でも #data={"name":"Ada"} または #url=... データを流し込めます。読み取り後はアドレスバーから削除されます。

JWT は Header、Payload、署名の3段です。このページはブラウザ内で前2段だけ Base64URL デコードし、有効期限とカスタム claim を見やすくします。Token はサーバーへ送りません。ログイン状態のデバッグや、 exp の期限切れ確認で、本物の Token を不明なサイトへ貼らずに済みます。

ローカル分解

ログイン状態のデバッグ、 exp / sub の確認に向いています。Header にはアルゴリズムと型、Payload には業務クレームがあります。

署名段がなくても前2段のデコードを試し、欠けたログを扱いやすくします。

署名検証はしない

秘密鍵をウェブに置くべきではありません。本番検証はバックエンドへ。Token を得た人は誰でも Payload を読めます。秘匿性は HTTPS と短い有効期限に依存します。

このページは署名文字列を表示しますが、HMAC / RSA が正しいかは検証しません。

クレーム対照

issローカル分解audログイン状態のデバッグ、iat などの公式フィールドを識別して意味を付けます。数値タイムスタンプはできるだけ読みやすい時刻にします。

カスタム claim はそのまま並べ、独自のログインプロトコルと照合しやすくします。

Token の形
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0IiwibmFtZSI6IuW8oOS4iSIsImlhdCI6MTcyMDAwMDAwMCwiZXhwIjoxOTAwMDAwMDAwfQ.signature
デコード後に見えるもの
{
  "header": { "alg": "HS256", "typ": "JWT" },
  "payload": { "sub": "1234", "name": "张三", "iat": 1720000000, "exp": 1900000000 }
}
署名の段は検証されますか?

現在は署名文字列を表示するだけで真偽は検証しません。誰でも Payload をデコードできます。秘匿性は HTTPS とバックエンド検証に依存します。

大きな整数は精度を失いますか?

JavaScript Number には精度上限があります。特に大きな ID は変換後の数値だけでなく、元の Payload と照合してください。

Token は保存されますか?

アップロードもクラウド履歴への書き込みもしません。タブを閉じるとメモリから消えます。

ログインの偽造に使えますか?

できませんし、すべきでもありません。秘密鍵がなければサーバー検証を通る Token は作れません。このページは読むためだけです。

おすすめの手順

  1. レスポンスヘッダー、Cookie、ローカルストレージから JWT をコピーします(チャットへ送らないでください)。
  2. このページに貼るかサンプルを読み込み、Header と Payload を確認します。
  3. exp / nbf が現在時刻と合うか、 aud が正しいサービスを指すかを確認します。
  4. 検証、更新、失効はすべてバックエンドで行います。このページは読む助けだけです。

JWT をデコードできることは認証済みではありません。Token はパスワードと同様に扱い、期限後は速やかに無効化してください。