Oh MyUtils

JWTデコーダー - JSON Webトークンデコード オンライン

JWTのヘッダー、ペイロード、署名を即座にデコード・検査。トークンの有効期限とクレームを検証 — サーバー送信なし、100%クライアント処理。

100%クライアントサイド - トークンはこのブラウザから外に出ません
JWTトークン

よくある質問

JSON Webトークン(JWT)とは何ですか?

JWT(JSON Webトークン)は、当事者間でJSONオブジェクトとして情報を安全に送信するためのオープン標準(RFC 7519)です。ドットで区切られた3つの部分で構成されます:ヘッダー(アルゴリズムとトークンタイプ)、ペイロード(クレーム/データ)、署名(検証用)。JWTはWebアプリケーションでの認証と認可に一般的に使用されます。

このJWTデコーダーはどのように使用しますか?

入力フィールドにJWTトークンを貼り付けるだけです。ツールは自動的にデコードし、ヘッダー、ペイロード、署名を別々のタブに表示します。各タブをクリックして、デコードされたJSONコンテンツを表示できます。署名を検証するには、検証セクションでシークレットキー(HMAC用)または公開鍵(RSA用)を入力してください。

ここでJWTをデコードするのは安全ですか?

はい、このツールは100%クライアントサイドです。JWTトークンはブラウザから外に出ることはありません - すべてのデコードと検証はJavaScriptを使用してローカルで行われます。サーバーにデータは送信されません。ただし、ペイロードはBase64エンコードされているだけで暗号化されていないため、機密情報を含むJWTを公開で共有しないでください。

JWTクレームとは何ですか?

クレームはエンティティ(通常はユーザー)と追加データに関する記述です。標準クレームには以下が含まれます:exp(有効期限)、iat(発行時刻)、nbf(有効開始時刻)、sub(サブジェクト)、iss(発行者)、aud(対象者)、jti(JWT ID)。ユーザーロールや権限などのアプリケーション固有のデータ用にカスタムクレームも追加できます。

署名検証はどのように機能しますか?

JWT署名はトークンが改ざんされていないことを保証します。HMACアルゴリズム(HS256、HS384、HS512)の場合、当事者間で共有されるシークレットキーを使用して署名が作成されます。RSAアルゴリズム(RS256、RS384、RS512)の場合、非対称鍵ペアが使用されます - 署名には秘密鍵、検証には公開鍵。このツールは安全な検証のためにWeb Crypto APIを使用しています。

コード例

// Decode JWT (without verification)
function decodeJWT(token) {
  const [headerB64, payloadB64] = token.split('.');
  
  const decodeBase64Url = (str) => {
    const base64 = str.replace(/-/g, '+').replace(/_/g, '/');
    return JSON.parse(atob(base64));
  };
  
  return {
    header: decodeBase64Url(headerB64),
    payload: decodeBase64Url(payloadB64)
  };
}

const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
const { header, payload } = decodeJWT(token);
console.log(payload);

関連ツール