「Bearer 」が付いたままでも読み取ります。
トークンを貼ると、ヘッダと本体の中身、有効期限の判定がここに出ます。
JWTを貼ると、ヘッダーとペイロードを整形して表示し、発行日時と有効期限を読める形に直します。署名の検証はできないので、そのことも画面に出しています。
よくある質問
トークンは送信されますか。
されません。base64を解いてJSONにするだけの処理で、すべてブラウザの中で行われます。
本番のトークンを貼っても大丈夫ですか。
この道具は送信しませんが、勧めません。JWTは資格情報そのもので、画面共有や録画、ブラウザの履歴に残ります。期限が切れたものか、検証用のものを使ってください。
署名が正しいかを確かめられますか。
できません。発行者の鍵が必要で、鍵を預かる仕組みはここにありません。検証はトークンを受け取る側のサーバーで行うものです。
読めたのに認証が通りません。
読めることと有効であることは別です。期限切れ、対象(aud)や発行者(iss)の不一致、署名の不一致のいずれかを疑ってください。
JWTの中身は暗号化されていないのですか。
されていません。署名は「途中で書き換えられていないこと」を示すもので、「中身を隠すこと」ではありません。ヘッダーとペイロードはbase64urlを解けば誰でも読めます。隠したい値がある場合は、暗号化する別の仕様(JWE)を使うか、そもそもトークンに入れずにサーバー側で引く設計にしてください。
ログアウトしたのに、そのトークンがまだ使えます。
JWTは「発行した時点で有効期限まで有効」という作りで、あとから取り消す仕組みを持っていません。ログアウトで無効にしたい場合は、受け取る側が失効リストを持つか、有効期限を短くして更新用のトークンで回す設計が要ります。この性質は実装の不備ではなく、仕様上の前提です。
有効期限が切れているかを、ここで判定できますか。
exp の値を人が読める日時として表示するので、現在時刻と比べれば分かります。ただし判定そのものは受け取る側のサーバーが行うもので、しかもサーバーの時計とお使いの端末の時計がずれていると結果が変わります。境目に近い場合は、この画面だけで結論を出さないでください。