2024年1月27日土曜日

JWTのデコードをターミナル上で行う

こんにちは、富士榮です。

皆さんIDトークンなどのJWT(JSON Web Token)の中身を確認するのに何を使っていますか?

私はOkta(Auth0)が提供しているhttps://jwt.ioやMicrosoftが提供しているhttps://jwt.msをよく使うのですが、いちいちブラウザを立ち上げるのが面倒な場合もありますよね。

もちろんjwt-cliを使ってコマンドラインで見るのもいいのですが、もうちょっとUIも凝ったものも欲しいよね、というVZ Editorが忘れられない人たちもこの界隈にはいるはずです。


ということで今回紹介するのはjwt.ioと同じくOkta(Auth0)が提供するjwt-uiです。

図)githubより


早速導入してみます。(私はMac環境ですが、Windowsでも使えるみたいです)

インストール

brewでインストールするようです。

brew tap jwt-rs/jwt-ui
brew install jwt-ui

これだけです。

起動

jwtui

これだけです。立ち上がりました。

デコード

UIを起動した状態でEnterを押下すると入力フィールドにフォーカスが当たるので、デコードするJWTをペーストできるようになります。
こんな感じで使えます。
もちろんコマンドラインから直接JWTを引数に指定してもデコードができます。
% jwtui eyJ・・・・という感じです。
するとUIが起動してデコードされた状態が表示されます。

jwt-cliと同じように標準出力にデコードされたものを出力することもできます。
% jwtui -sn eyJ・・・・という感じで使います。(-sは標準出力への出力、-nは署名検証をしない、というオプションです)

他にも色々とオプションがあるので使ってみてください。
  • -S, --secret <SECRET> Secret for validating the JWT. Can be text, file path (beginning with @) or base64 encoded string (beginning with b64:) [default: ]
  • -s, --stdout Print to STDOUT instead of starting the CLI in TUI mode
  • -n, --no-verify Do not validate the signature of the JWT when printing to STDOUT.
  • -j, --json Format STDOUT as JSON
  • -t, --tick-rate <TICK_RATE> Set the tick rate (milliseconds): the lower the number the higher the FPS. Must be less than 1000 [default: 250]
  • -h, --help Print help
  • -V, --version Print version






0 件のコメント: