アルゴリズム
ペイロード(JSON)
クレームを JSON オブジェクトで指定します(例: sub・name・iat・exp)。
秘密鍵(Secret)
署名済み JWT
署名はすべてブラウザ内(WebCrypto HMAC)で実行され、秘密鍵もペイロードもアップロードされません。対応は HS256/384/512 です。
API や認証まわりのテストで「中身を自分で決めた JWT(JSON Web Token)が欲しい」ときに、貼り付け・コピーだけで署名済みトークンを作れるツールです。ペイロード欄に JSON でクレーム(`sub`・`name`・`iat`・`exp` など好きな項目)を書き、秘密鍵(Secret)を入力すると、`header.payload.signature` の形の JWT が右側に即時生成されます。ヘッダーは選んだアルゴリズムに合わせて `{ "alg": "HS256", "typ": "JWT" }` を自動で組み立てるので、自分で書く必要はありません。アルゴリズムは HS256・HS384・HS512(いずれも HMAC + SHA、共有秘密鍵方式)から選べます。生成したトークンはそのまま jwt-decode で中身を確認したり、`Authorization: Bearer ...` ヘッダーに載せて API のテストやモックに使えます。署名は標準の WebCrypto(ブラウザ内蔵の暗号 API)で計算し、秘密鍵・ペイロード・生成したトークンを一切サーバーへアップロード・保存・送信しません。テスト用の鍵であっても外部に渡らないので安心して使えます。なお、本ツールが対応するのは共有秘密鍵で署名する **HMAC 系(HS256/384/512)** です。公開鍵・秘密鍵のペアを使う RS256 / ES256 などの非対称鍵方式は、秘密鍵をブラウザのページに貼り付けるのが安全でないため対象外です。本番トークンの発行はサーバー側のライブラリで行い、本ツールは開発・デバッグ・学習用のテストトークン作成にお使いください。
使い方
- ペイロード欄に JSON でクレームを書きます(「サンプル」で sub・name・iat・exp の例を入れて試せます)。
- 秘密鍵(Secret)を入力し、必要ならアルゴリズムを HS256 / HS384 / HS512 から選びます。
- 右側に署名済み JWT が即時生成されます。「コピー」でそのまま取得。秘密鍵もトークンもどこにも送信されません。
よくある質問
入力した秘密鍵やペイロードはアップロードされますか?
いいえ。署名はすべてあなたのブラウザ内の WebCrypto(標準の暗号 API)で計算され、秘密鍵・ペイロード・生成したトークンはサーバーへアップロード・保存・送信されません。テスト用の鍵も端末の外には出ません。
対応しているアルゴリズムは?
共有秘密鍵で署名する HMAC 系の HS256・HS384・HS512 に対応します。RS256 や ES256 などの公開鍵・秘密鍵ペアを使う非対称方式は、秘密鍵を Web ページに貼り付けるのが安全でないため対象外です。
ペイロードに有効期限(exp)を入れたいです。
ペイロードの JSON に `exp` を Unix 秒(1970年からの経過秒)で書けば期限を設定できます。「サンプル」ボタンは現在時刻を基準に `iat`(発行時刻)と1時間後の `exp` を自動で埋めるので、それを編集するのが手早いです。
生成した JWT の中身は確認できますか?
はい。生成したトークンを当サイトの「JWT デコーダー」に貼り付ければ、ヘッダーとペイロードを整形 JSON で確認でき、exp などの時刻も読みやすい日時に展開されます。生成と確認をセットで使えます。
本番のトークン発行に使えますか?
本ツールは開発・デバッグ・学習用のテストトークン作成を想定しています。本番のトークン発行は、秘密鍵をサーバー内に安全に保管したうえでサーバー側のライブラリ(jsonwebtoken など)で行ってください。