JWT デコード

認証まわりの不具合を追う前に、トークンの中身を確認します。ヘッダー、クレーム、アルゴリズム、署名、期限の状態を読み取れます。

エンコード済みトークン

HeaderPayloadSignature

デコード結果

トークンの入力を待っています...

JWT とは

JSON Web Token は、システム間でクレームを渡すためのコンパクトな形式です。確認するときは、発行者、audience、権限、署名アルゴリズム、期限切れかどうかを見ます。

Header

typ、alg、場合によってはkidなど、トークンのメタデータを表示します。kidは発行者が使った鍵を指すことがあります。

Payload

sub、iss、aud、exp、iat、roles、tenant ID、アプリケーション固有の認可データなどのクレームを含みます。

Signature

サーバーが想定するシークレットまたは公開鍵で検証することで、トークンの改ざんを検出します。

Expiry

expクレームは、認証の不具合を調べる最短の手がかりになることがあります。形式が正しくても期限切れなら使えません。

JWT FAQ

JWT は暗号化されていますか?

通常は違います。標準的なJWTはエンコードされているだけで、暗号化されていません。トークンを持つ人はHeaderとPayloadを読めます。Signatureは改ざん検知に使います。

デコードすれば信頼できるトークンだと分かりますか?

いいえ。デコードは中身を表示するだけです。信頼するには、署名検証、発行者、audience、有効期限、アプリケーション側のルールを確認する必要があります。

トークンが期限切れになるとどうなりますか?

expが過去ならサーバーはトークンを拒否し、クライアントは再認証または更新手順で新しいアクセストークンを取得します。

本番トークンをデコーダーに貼ってよいですか?

実際に使えるトークンは認証情報として扱います。可能なら短時間だけ有効なテスト用トークンを使い、管理していないツールに機密性の高い本番トークンを貼らないようにします。