JWT設定

生成されたトークン

JWT出力

トークンを生成するとここに結果が表示されます。

エンコード済みパーツのプレビュー

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwicm9sZSI6ImFkbWluIiwiaWF0IjoxNzE2MjM5MDIyLCJleHAiOjE3MTYyNDI2MjJ9.署名

ヘッダー

{
  "alg": "HS256",
  "typ": "JWT"
}

ペイロード

{
  "sub": "1234567890",
  "name": "John Doe",
  "role": "admin",
  "iat": 1716239022,
  "exp": 1716242622
}

プライバシー優先

トークンはWeb Crypto APIを使って完全にブラウザ内で生成されます。ヘッダー、ペイロード、シークレットキーがサーバーへ送信されることはありません。

使い方

  1. 署名アルゴリズムを選択します。
  2. HMACアルゴリズム用のシークレットキーを入力します。
  3. ヘッダーとペイロードJSONを編集します。
  4. JWTを生成をクリックし、トークンをコピーします。

JWT生成の完全ガイド

このJWTジェネレーターでできること

このツールはJSON Web Token(JWT)をブラウザ内で直接作成します。ヘッダーとペイロードJSONをカスタマイズし、署名アルゴリズムを選択して、認証・認可フローのテストに使える本番形式に近いトークンを生成できます。

対応アルゴリズム

HS256

SHA-256を使うHMACです。共有シークレットを使ったアプリレベルのJWT署名でよく使われます。

HS384

SHA-384を使うHMACです。HS256より強いハッシュが必要な場合に役立ちます。

HS512

SHA-512を使うHMACです。より大きな署名を生成し、より高いセキュリティ要件の環境で使われることがあります。

none

ローカルテスト専用の未署名トークンです。本番の認証フローでは絶対に使用しないでください。

追加できる一般的なJWT Claims

  • iss: Issuer識別子。トークンを作成した発行者を示します。
  • sub: Subject識別子。通常はユーザーIDです。
  • aud: API、サービス、アプリなど、想定される受信者です。
  • exp: Unix秒で表す有効期限タイムスタンプです。
  • iat: 発行時刻のタイムスタンプです。
  • nbf: この時刻より前は有効にしないことを示すタイムスタンプです。
  • jti: リプレイ対策に使える一意なトークンIDです。

JWT作成のベストプラクティス

  • HMAC署名には、強力でエントロピーの高いシークレットを使う。
  • トークンの有効期限は短くする。例: 15分。
  • ペイロードclaimsに機密データを入れない。
  • サーバー側で署名、issuer、audience、有効期限を必ず検証する。
  • すべてのトークン送信にHTTPSを使う。

プライバシーとローカル処理

すべてのトークン生成はWeb Crypto APIを使ってブラウザ内で行われます。ヘッダー、ペイロード、シークレットキーがサーバーへ送信されることはありません。

生成前にJWTを理解する

先に概要を確認したいですか?このガイドでは、JWTとは何か、トークン各部の仕組み、避けるべきセキュリティ上の落とし穴を説明しています。

読む: JWTとは?

関連するセキュリティツール