ubin.sh

JWT デコーダー

JWTをオンラインでデコード: header、payload、読みやすいexp/iatタイムスタンプ — トークンはブラウザから出ません。

このツールについて

JSON Web Tokenを貼り付けると、headerとpayloadをシンタックスハイライト付きで表示し、exp/iat/nbfクレームを相対時間付きの読みやすい日付に変換します。トークン単体だけでなく、'Bearer eyJ…'、authorizationヘッダー1行、curl -H フラグなど、トークンを含む任意のテキストを貼り付けても自動的に抽出します。

デコードはすべてブラウザ内で行われます。JWTの最初の2セグメントはBase64URLエンコードされたJSONにすぎないため、読むのに秘密鍵は不要です。署名は表示のみで検証はしません。

よくある質問

本物のトークンを貼り付けても安全ですか?+

トークンはブラウザから出ず、デコードはローカルで行われ何も送信されません。ただしトークン自体は資格情報です。デコード結果をSlackやドキュメントにスクリーンショットで貼ると、画像内のトークン文字列を誰でもコピーしてそのまま使えます。共有が必要なら期限切れのトークンでキャプチャし、有効なトークンを露出させたらすぐに無効化(セッション破棄など)してください。

なぜ署名を検証しないのですか?+

検証にはシークレット(HS256)または公開鍵(RS256/ES256)が必要ですが、シークレットをツールに貼り付けるのは避けるべきです。デコードはトークンが「主張する内容」を示すだけで真正性は証明しません。サーバーは必ず署名を検証する必要があります。

誰でもデコードできるなら、JWTは暗号化されているのですか?+

いいえ。標準的なJWSトークンは暗号化ではなく署名されているだけです。トークンを持つ者は誰でもpayloadを読め、署名は改ざんを防ぐだけです。クレームに秘密情報を入れず、機密性が必要ならJWEを使ってください。

exp、iat、nbfは何を意味しますか?+

Unixタイムスタンプのクレームです。iat = 発行時刻、nbf = この時刻より前は無効、exp = 有効期限。サーバーは通常、適用時に数秒から数分のクロックスキューを許容します。

関連ツール