ツールの説明

このツールは、ブラウザー上で JWT を作成して署名します。アルゴリズムを選択し、ヘッダーとペイロードを JSON として編集すると、署名済みの token がすぐに表示されます。API のテスト、新しい認証設定の試行、ローカル環境用の token の作成などに便利です。すべての処理は Web Crypto API を使用してブラウザー上で行われ、シークレットやキーが外部に送信されることはありません。

ツールを開くとランダムなシークレットが生成されます。また、キーが必要なアルゴリズムを初めて選択したときに新しいキーペアが生成されるため、準備をしなくても動作する token を取得できます。サーバーが受け入れる token を作成するには、自分のシークレットまたは秘密鍵を貼り付けてください。

機能

  • HS256、HS384、HS512、RS256、RS384、RS512、PS256、PS384、PS512、ES256、ES384、ES512、EdDSA(Ed25519)で署名できます。
  • HMAC シークレットをテキスト、Base64、または 16 進数として受け付け、RFC 7518 で許可されている長さ未満の場合に警告します。このようなシークレットは、多くのライブラリで拒否されます。
  • 秘密鍵を PKCS #8 PEM(BEGIN PRIVATE KEY)、PKCS #1 PEM(BEGIN RSA PRIVATE KEY)、SEC 1 PEM(BEGIN EC PRIVATE KEY)、または JWK として読み込みます。
  • 公開鍵を PEM と JWK の両方で表示し、kidusealg を付加して JWKS にすぐ追加できるようにします。
  • token に署名するときに expiatnbf、ランダムな jti を設定し、署名時刻と有効期限を現在のタイムゾーンで表示します。
  • 公開鍵が指定されている、キーの種類または曲線が正しくない、RSA キーが 2048 ビット未満である、パスワードで保護されたキーである、といったキーの問題を説明します。
  • キーの種類ごとに 1 つのキーを保持するため、貼り付けたキーを失わずに RS256 と ES256 を切り替えられます。
  • algnone に設定した未署名の token を作成し、サーバーがそれらを拒否することをテストできます。

HS256 を使用し、ヘッダーを {"typ": "JWT"}、ペイロードを {"sub": "1234567890", "name": "ジェーン・ドウ"} とし、「有効期限」を 1 時間に設定すると、署名済みペイロードは次のようになります。

{
  "sub": "1234567890",
  "name": "ジェーン・ドウ",
  "iat": 1790000000,
  "exp": 1790003600
}

ヒント

何かを変更するたびに token は再署名されるため、iatexp は常に現在の時刻を起点に計算されます。何も変更せずに再度署名するには、token の下にあるボタンを使用してください。