ガイド

Base64URL と JWT:読めても信頼は別

JWT は通常の Base64 ではなく Base64URL を使います。読む部分と検証する部分を分けます。

3つの部分

署名付き JWT は多くの場合、header、payload、signature の3部分をドットでつなぎます。

2文字が違う

Base64URL は + を -、/ を _ に変えます。JWT は末尾の = も省きます。

デコードは検証ではない

payload から iss、sub、aud、exp などを読めます。しかし署名や発行者を証明したことにはなりません。サーバーが鍵とアルゴリズムで検証します。

alg に注意

受け入れるアルゴリズムはアプリ側が決めます。想定外の alg は失敗にします。

調査手順

ドットで分け、最初の2つを Base64URL として読む。必要なら padding を戻し、署名、発行者、audience、時刻を確認します。

技術資料