やりたいこと
JWTをただただデコードしてクレームを読み取りたい。 しかし、JWT 系のライブラリであれば、JWT トークンのデコードの際に検証が必須の物が多い。 例えば、jjwt とかだと、
you should always discard JWTs that don't match an expected signature
と README にあるように、以下のように公開鍵をセットしてからデコードする必要がある。
Jwts.parserBuilder().setSigningKey(key).build().parseClaimsJws(jws).getBody().getSubject()
でも、Java のコードでただ中身をデコードして確認したい時は、わざわざ公開鍵をセットするのは面倒である。
解決策
こういう時は、無署名の JWT トークンにしてしまえば良い。
つまり、JWT トークンを以下のように変更する。
aaaa.bbbb.cccc
-> aaaa.bbbb.