JWTデコーダー

JWT(JSON Web Token)を貼り付けると、ヘッダーとペイロードの中身、有効期限(exp)などを確認できます。トークンはブラウザ内だけで処理され、外部に送信されません。

ヘッダー
ペイロード

          
署名(未検証)

        

JWTとは

JWT(JSON Web Token、「ジョット」と読みます)は、ログイン情報や権限などを JSON 形式で安全にやり取りするためのトークンです。OAuth 2.0 / OpenID Connect のアクセストークンや ID トークン、Firebase Authentication、Auth0、AWS Cognito などで広く使われています。

JWTは . で区切られた3つのパートでできています。

パート内容
ヘッダー署名アルゴリズム(alg)やトークンの種類(typ)
ペイロードユーザーIDや有効期限などの情報(クレーム)
署名改ざんされていないことを確認するための署名

ヘッダーとペイロードは URL-safe Base64 でエンコードされているだけで、暗号化はされていません。誰でも中身を読めるので、パスワードなどの秘密情報をペイロードに入れてはいけません。

主なクレーム

クレーム意味
iss発行者(Issuer)
sub主体・ユーザーID(Subject)
aud受信者(Audience)
exp有効期限(Expiration Time)。UNIX時間(秒)
nbf有効開始日時(Not Before)
iat発行日時(Issued At)
jtiトークンの一意なID

よくある質問

本番のトークンを貼り付けても大丈夫ですか?

当ツールはトークンをサーバーに送信せず、ブラウザ内でデコードします。ただし、有効なアクセストークンは漏れると悪用される恐れがあるため、どのツールでも取り扱いには注意し、確認後はクリアすることをおすすめします。

署名の検証はできますか?

このツールはデコード(中身の表示)専用で、署名の検証は行いません。署名の検証には秘密鍵・公開鍵が必要なため、サーバー側のライブラリで行ってください。

「401 Unauthorized」の原因を調べたい

まず exp(有効期限)が過ぎていないか、aud や iss がAPIの設定と一致しているかを確認してください。サーバーとクライアントの時計のずれにも注意しましょう。