— このツールについて
JSON Web Token (JWT) は、署名された URL セーフなトークンで、ヘッダー・ペイロード・署名の 3 つの部分から構成され、サービス間で認証クレームを伝えるために使われます。このジェネレーターは、入力した JSON ペイロードを、選択したアルゴリズムと鍵で署名し、そのまま使えるトークンを出力します。HS256/384/512 では共有シークレットを指定し、RS256 では PKCS#8 秘密鍵を貼り付けます。対応する公開鍵が別の場所で検証を行います。
署名は Web Crypto API の上に構築された jose ライブラリーを使ってローカルで行われるため、ペイロードや鍵がサーバーに送られることはありません。API 用のテストトークンを発行したり、認証バグを再現したり、特定のヘッダーとペイロードがどのような署名になるかを正確に把握したりするのに役立ちます。既存のトークンを調べたい場合は、JWT デコーダーをご利用ください。
ペイロードと署名鍵はブラウザー内に留まります — トークンはローカルで署名されます。
よくある質問
HS256 と RS256 の違いは何ですか?
HS256 は署名と検証の両方に単一の共有シークレットを使用します (対称)。RS256 は署名に秘密鍵を、検証に別の公開鍵を使用し (非対称)、署名する能力を公開することなく公開鍵を配布できます。検証側が想定しているものに基づいて選択してください。
exp、iat やその他のクレームは自動的に設定されますか?
いいえ — 指定したペイロードをそのまま署名するため、制御は完全にあなたの手にあります。exp (有効期限) や iat (発行時刻) などの登録済みクレームは、秒単位の Unix タイムスタンプとして、ご自身で JSON に追加してください。
すでに持っているトークンを読み取るにはどうすればよいですか?
JWT デコーダーを使用してください。トークンをヘッダーとペイロードに分割し、シークレットを必要とせずにクレームを表示します。