کدگشای JWT
توکنهای JSON Web Token (JWT) را فوراً کدگشایی کنید. در مرورگر شما اجرا میشود: توکنها هرگز از دستگاه شما خارج نمیشوند، بنابراین استفاده از آن با اسرار محیط تولید (production) امن است.
نحوه استفاده از این ابزار
- 1
JWT خود را در فیلد ورودی بچسبانید.
- 2
روی «رمزگشایی» کلیک کنید. هدر (header) و محتوا (payload) تجزیه و نمایش داده میشوند.
- 3
الگوریتم، ادعاها (claims)، زمان انقضا و صادرکننده را بررسی کنید.
JWT چیست و چگونه کار میکند؟
یک JSON Web Token (JWT، تعریفشده در RFC 7519) شکلی فشرده و امن برای URL برای نمایش مجموعهای از ادعاها (claims) درباره یک کاربر است، همراه با اثبات رمزنگاریشدهای که نشان میدهد آن ادعاها دستکاری نشدهاند. JWTها احراز هویت را در بیشتر پشتههای وب مدرن پیش میبرند: وقتی وارد میشوید، سرور یک JWT حاوی شناسه کاربری و مجوزهای شما ایجاد میکند، آن را با یک کلید مخفی امضا میکند و به شما بازمیگرداند. مرورگر شما توکن را ذخیره میکند (معمولاً در localStorage یا یک کوکی) و آن را در سرآیند Authorization هر درخواست بعدی میگنجاند. سرور امضا را در هر درخواست تأیید میکند: اگر معتبر باشد، به ادعاهای توکن اعتماد میشود؛ اگر دستکاری شده باشد، امضا میشکند و درخواست رد میشود. JWTها سه بخش دارند که با Base64URL کدگذاری شده و با نقطه از هم جدا میشوند: سرآیند الگوریتم امضا را اعلام میکند (HS256 برای HMAC-SHA256، RS256 برای RSA، ES256 برای ECDSA، none برای توکنهای امضانشده، که خطرناک است و باید آنها را رد کنید)؛ بار داده (payload) شامل خود ادعاها است (ادعاهای استاندارد مانند 'sub' برای موضوع (subject)، 'exp' برای انقضا، 'iat' برای زمان صدور، بهعلاوه هر ادعای سفارشیای که برنامه شما تعریف میکند)؛ امضا اثباتی است بر اینکه سرآیند و بار داده توسط کسی که مالک کلید مخفی بوده امضا شدهاند. این کدگشا دو بخش اول را آشکار میکند که اطلاعات عمومی هستند؛ امضا تنها با کلید قابل تأیید است، و به همین دلیل است که هر کدگشای JWT ادعاها را بدون تأیید نمایش میدهد.
موارد استفاده رایج
با رمزگشایی JWTای که کلاینت شما ارسال میکند، مشکلات احراز هویت را برطرف کنید؛ دقیقاً ببینید کدام ادعاها وجود دارند، چه کسی آن را صادر کرده و چه زمانی منقضی میشود.
JWTهای دروازهی API (AWS Cognito، Auth0، Okta) را بررسی کنید تا ساختار ادعاها را برای سرویسهای پاییندستی درک کنید.
بررسی کنید که ادعاهای سفارشی (شناسهی سازمان، نقش، پرچمهای ویژگی) در کد صدور توکن بهدرستی تنظیم شده باشند.
توکنها را پیش و پس از تازهسازی مقایسه کنید تا تمدید زمان انقضا تأیید شود.
الگوریتم توکن را ممیزی کنید؛ مطمئن شوید در محیط تولید RS256 یا ES256 استفاده میشود و هرگز 'none' نیست.
محتوای base64url موجود در گزارشهای سرور را به ادعاهای خوانا برای انسان تبدیل کنید.
پرسشهای متداول
آیا استفاده از آن با JWTهای محیط تولید امن است؟▼
آیا این امضا را تأیید میکند؟▼
اگر JWT من منقضی شده باشد چه میشود؟▼
آیا JWTها را میتوان رمزنگاری کرد؟▼
'alg': 'none' به چه معناست و آیا خطرناک است؟▼
چرا بهجای کوکیهای نشست از JWT استفاده کنیم؟▼
ادعاهای استاندارد یک JWT کداماند؟▼
ابزارهای مرتبط
قالببند و اعتبارسنج JSON
JSON را بهصورت آنلاین قالببندی، اعتبارسنجی و فشرده کنید. کاملاً در مرورگر شما کار میکند: دادههای شما هرگز دستگاهتان را ترک نمیکنند.
قالببند XML
اسناد XML را قالببندی و زیبا کنید. مفید برای SOAP، نقشههای سایت، فیدهای RSS و فایلهای پیکربندی.
کدگذار و کدگشای Base64
رشتهها را به Base64 کدگذاری یا Base64 را به متن کدگشایی کنید. به حریم خصوصی شما احترام میگذارد: در مرورگر شما اجرا میشود.
کدگذار و کدگشای URL
متن را به کدگذاری امن برای URL (کدگذاری درصدی) و برعکس تبدیل کنید. مفید برای رشتههای پرسوجو، تغییر مسیرها و جریانهای OAuth.
کدگذار و کدگشای موجودیتهای HTML
کاراکترهای خاص را به موجودیتهای HTML (&، < و غیره) و برعکس تبدیل میکند. برای جایدادن امن متن در HTML مفید است.
فشردهساز CSS
نظرات، فاصلههای خالی و کاراکترهای غیرضروری را از CSS حذف کنید تا حجم فایل کاهش یابد.