JWT Generator
Header・Payload・Secretを指定してJWTを生成(ジェネレーター)します。
概要
Header・Payload・Secret(署名鍵)を指定して、署名済みのJWT(JSON Web Token)を生成するツールです。
HMACベースの署名アルゴリズム(HS256・HS384・HS512)に対応しており、Headerのalgに指定した値に応じて署名方式が切り替わります。
署名処理はWeb Crypto APIを使用し、すべてブラウザ内で完結するため、Secretが外部に送信されることはありません。
使い方
- 1
HeaderとPayloadにJSON形式のデータを入力します。Headerのalgには HS256 / HS384 / HS512 のいずれかを指定してください。
- 2
Secretに署名用の秘密鍵を入力します。
- 3
「生成する」ボタンをクリックすると、署名済みのJWTが表示されます。「コピー」ボタンで結果をクリップボードにコピーできます。
入力例・出力例
入力
Header: {"alg":"HS256","typ":"JWT"}
Payload: {"sub":"1234567890","name":"Taro"}
Secret: my-secret出力
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IlRhcm8ifQ.xxxxx
利用シーン
認証まわりの実装・デバッグ時に、任意のクレーム(Payload)を持つテスト用JWTをその場で発行する
APIの認可処理を検証するため、有効期限(exp)や権限情報(role)を変えた複数パターンのJWTを用意する
JWT検証ロジックの単体テストで使う、既知のSecretで署名されたトークンを生成する
よくある質問
入力したSecretは外部に送信されますか?
いいえ。署名処理はWeb Crypto APIを利用してすべてブラウザ内で完結し、Secretが外部へ送信されることはありません。
RS256など公開鍵暗号方式のアルゴリズムは使えますか?
いいえ。現在はHMACベースのHS256 / HS384 / HS512のみ対応しています。
Headerのalgと実際の署名アルゴリズムは一致しますか?
はい。Headerに指定したalgの値に応じたアルゴリズムで署名します。対応していない値の場合はエラーが表示されます。
注意点
現在対応しているのはHMACベースのHS256・HS384・HS512のみです。RS256など公開鍵暗号方式のアルゴリズムには対応していません。
ここで入力するSecretには、本番環境で実際に使用している秘密鍵を入力しないでください。テスト・検証用途に限定して利用することを推奨します。
Header・Payloadに不正なJSONを入力するとエラーになります。
関連ツール
JWTの形式・有効期限・署名を検証(バリデーション)します。
Message・Secret・アルゴリズムを指定してHMACを生成(ジェネレーター)します。
テキストからSHA-1・SHA-256・SHA-384・SHA-512のハッシュ値を生成(ジェネレーター)します。