JWT設定
生成されたトークン
JWT出力
トークンを生成するとここに結果が表示されます。
エンコード済みパーツのプレビュー
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwicm9sZSI6ImFkbWluIiwiaWF0IjoxNzE2MjM5MDIyLCJleHAiOjE3MTYyNDI2MjJ9.署名
ヘッダー
{
"alg": "HS256",
"typ": "JWT"
}ペイロード
{
"sub": "1234567890",
"name": "John Doe",
"role": "admin",
"iat": 1716239022,
"exp": 1716242622
}プライバシー優先
トークンはWeb Crypto APIを使って完全にブラウザ内で生成されます。ヘッダー、ペイロード、シークレットキーがサーバーへ送信されることはありません。
使い方
- 署名アルゴリズムを選択します。
- HMACアルゴリズム用のシークレットキーを入力します。
- ヘッダーとペイロードJSONを編集します。
- 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とは?