پرش به محتوای اصلی

رمزگشای JWT رایگان

هر JSON Web Token را رمزگشایی و بررسی کنید. هدر، payload، انقضا و ادعاهای استاندارد را ببینید. همه چیز به صورت محلی در مرورگر شما اجرا می‌شود — توکن‌ها هرگز دستگاه شما را ترک نمی‌کنند.

پس از بارگذاری آفلاین کار می‌کند

🔒 توکن کاملاً در مرورگر شما کدگشایی می‌شود. هیچ چیز به هیچ سروری ارسال نمی‌شود.

کاربردهای رایج

  • مشکلات احراز هویت اشکال زدایی با JWT DecoderJWT را از برنامه خود بررسی کنید تا خرابی ورود، مشکلات اجازه و مشکلات انقضای نشانه را اشکال زدایی کنید.
  • نشانه های API را هنگام تست نقاط پایانی بررسی کنیدJWT را که توسط API شما بازگردانده می شود رمزگشایی کنید تا تأیید کنید که ادعاهای درست، محدودیت های دسترسی و اجازه ها صادر می شوند.
  • نشانه های JWT حسابرسی امنیتیJWT را به عنوان بخشی از حسابرسی امنیتی بررسی کنید: الگوریتم های امضای ضعیف، عمر نشانه بیش از حد یا داده های حساس در بار را بررسی کنید.
  • نشانه های OAuth و OpenID Connect را بررسی کنیدنشانه های دسترسی، نشانه های شناسه و نشانه های تازه سازی را از Google، Auth0، Okta، Microsoft و سایر ارائه دهندگان OAuth رمزگشایی کنید.
  • بیاموزید که نشانه های JWT چگونه کار می کنندنشانه های JWT را رمزگشایی کنید تا ساختار را درک کنید: سر، بار و امضا. نمونه ادعاهای دنیای واقعی را ببینید.

نحوه کار

رمزگشا یک تجزیه‌گر دست‌نویس و بدون وابستگی است که کاملاً در مرورگر شما اجرا می‌شود: توکن را روی نقطه‌ها تقسیم می‌کند، هر بخش Base64URL را با جایگزینی رشته به Base64 ساده تبدیل و با پدینگ به مضربی از چهار می‌رساند، سپس atob() و JSON.parse بومی مرورگر را برای بازیابی اشیاء سرتیتر و بار فراخوانی می‌کند. تأیید امضای اختیاری از Web Crypto API (crypto.subtle.verify) استفاده می‌کند — بدون کتابخانه، بدون سرور.

  1. 1
    رمزگشایی Base64URL
    ابزار JWT را در دو نقطه جداکننده‌اش تقسیم می‌کند که سه بخش می‌دهد. هر بخش Base64URL است — که به‌جای + و / از - و _ استفاده می‌کند و پدینگ را حذف می‌کند. کد آن کاراکترها را دوباره جابه‌جا می‌کند و با علامت‌های = پدینگ اضافه می‌کند، سپس atob() داخلی مرورگر را برای رمزگشایی بایت‌ها فراخوانی می‌کند.
  2. 2
    تجزیه JSON و استخراج ادعا
    بایت‌های رمزگشایی‌شده از طریق JSON.parse می‌گذرند تا اشیاء سرتیتر و بار تولید شوند. ادعاهای ثبت‌شده exp، iat، و nbf به‌عنوان مهرهای زمانی یونیکس استخراج و به اشیاء Date تبدیل می‌شوند؛ وضعیت انقضا هر ۲۰ ثانیه از طریق setInterval دوباره بررسی می‌شود پس یک توکن که در حین باز بودن تب منقضی می‌شود به‌طور خودکار از معتبر به منقضی تبدیل می‌شود. مهرهای زمانی نسبی ('۳ روز دیگر'، '۲ ساعت پیش') با Intl.RelativeTimeFormat با استفاده از لوکال مرورگر شما قالب‌بندی می‌شوند.
  3. 3
    نمایش امضا و تأیید اختیاری
    رشته امضای خام Base64URL همراه سرتیتر و بار نشان داده می‌شود. اگر کلیدی ارائه دهید، ابزار crypto.subtle.importKey و crypto.subtle.verify را برای بررسی امضا به‌صورت محلی فراخوانی می‌کند. رمزهای مشترک HMAC (HS256/384/512)، کلیدهای عمومی RSA کدگذاری‌شده PEM (RS256/384/512)، و کلیدهای عمومی ECDSA یا اشیاء JWK/JWKS (ES256/384/512) را می‌پذیرد — که با فیلد alg در سرتیتر تعیین می‌شود.
  4. 4
    بدون درخواست شبکه‌ای
    هر مرحله — رمزگشایی، حساب مهر زمانی، و تأیید رمزنگاری — درون موتور جاوااسکریپت مرورگر اجرا می‌شود. توکن و هر ماده کلیدی که وارد می‌کنید هرگز دستگاه شما را ترک نمی‌کنند.

JWTها اغلب اعتبارنامه‌های جلسه، هویت کاربر، و دامنه‌های اختیار را حمل می‌کنند؛ این ابزار آن‌ها را کاملاً در مرورگر شما با استفاده از atob() و Web Crypto API رمزگشایی و به‌طور اختیاری تأیید می‌کند، پس نه توکن نه هر کلیدی که ارائه می‌کنید جایی منتقل نمی‌شود.

ابزارهای مرتبط

سؤالات متداول