ابزارهای توسعه‌دهنده
دیباگر آنلاین JSON Web Token

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

سرآیند و بار JSON Web Token را در مرورگر ببینید؛ امضا اعتبارسنجی نمی‌شود.

ورودی توکن JWT

JWT را در زیر بچسبانید تا فورا رمزگشایی، بازرسی و تأیید شود.

در انتظار ورودی JSON Web Token.

رمزگشایی سربرگ

JSON
پس از چسباندن JWT، محتوای تجزیه شده در اینجا نمایش داده می شود.

رمزگشایی Payload

ادعاها
پس از چسباندن JWT، محتوای تجزیه شده در اینجا نمایش داده می شود.

تأیید امضای JWT

انتخاب کنید
امضا پس از رمزگشایی در اینجا نمایش داده می شود.

راز مورد استفاده در هنگام صدور JWT را وارد کنید. تأیید HS256 به صورت بومی در مرورگر شما انجام می شود.

JWT

چگونه از رمزگشایی آنلاین JWT استفاده کنیم؟

  1. توکن JWT کامل را جایگذاری کنید.
  2. برای تجزیه Header، Payload و Signature، "Decode JWT" را فشار دهید.
  3. هنگامی که نیاز به تایید امضا دارید، راز را وارد کرده و سپس از "Verify Signature" استفاده کنید.
JSON

JSON Web Token چیست؟

JWT یک فرمت رمزی است که معمولاً برای ورود به سیستم، تأیید API و مجوز بین سرویس استفاده می شود. این شامل سه بخش است: سربرگ، بارگذاری و امضا.

محتوای بار قابل رمزگشایی و خواندن است و اطلاعات حساس نباید در ادعاهای JWT قرار گیرد.

HS

JWT تایید و امنیت

این صفحه از تأیید و تولید امضای HS256 پشتیبانی می‌کند و بررسی اینکه آیا توکن محیط آزمایشی با همان راز ایجاد شده است یا خیر.

تمام رمزگشایی JWT، رمزگذاری و تأیید امضا به صورت بومی در مرورگر انجام می شود.

پایگاه دانش سئو JWT

راهنمای کامل رمزگشایی JWT آنلاین: JSON Web Token چیست، چگونه آن را تأیید کنیم و چگونه از آن به طور ایمن استفاده کنیم

اگر به دنبال «رمزگشا JWT»، «رمزگشا JWT»، «تجزیه توکن وب JSON»، «JWT Verify» یا «رمزگذار JWT» می‌گردید، معمولاً به این معنی است که شما از قبل یک رمز دارید و باید به سرعت سرصفحه، بار بار، زمان انقضا، الگوریتم امضا و ادعاهای آن را درک کنید. این صفحه نه تنها ابزارهای آنلاین رمزگشایی JWT را ارائه می دهد، بلکه دانش اولیه JWT را که توسعه دهندگان اغلب در مورد آن پرس و جو می کنند، سازماندهی می کند.

JWT چیست؟

JWT مخفف JSON Web Token است. این یک قالب توکن است که از JSON برای نمایش اطلاعات استفاده می کند و سپس آن را به یک رشته ساده تبدیل می کند. اغلب در وب‌سایت‌های جداسازی front-end و back-end، برنامه API، ورود به سیستم اعضا، SSO با ورود به سیستم، مجوز میکروسرویس و تبادل داده بین سرویس‌ها استفاده می‌شود.

رمزگشایی JWT نیازی به رمز عبور ندارد زیرا سربرگ و Payload فقط Base64URL کدگذاری شده اند، نه رمزگذاری شده. هر کسی که رمز را دریافت کند می‌تواند از رمزگشای JWT برای مشاهده محتوای محموله استفاده کند، بنابراین ادعاها نمی‌توانند حاوی گذرواژه، کلیدهای API یا اطلاعات شخصی حساس باشند.

چه زمانی از JWT استفاده کنیم؟

رایج ترین مورد استفاده، مجوز است. پس از اینکه کاربر با موفقیت وارد سیستم شد، سرور مجوز JWT صادر می کند. هنگامی که بخش جلویی یا برنامه متعاقباً API را فراخوانی می‌کند، رمز در سربرگ مجوز HTTP، مانند Authorization: Bearer قرار می‌گیرد.

JWT همچنین معمولاً برای تبادل اطلاعات استفاده می شود. هنگامی که دو سیستم نیاز به مبادله داده‌های قابل تأیید دارند، امضاها به گیرنده اجازه می‌دهند تا تأیید کند که داده‌ها در طول انتقال تغییر نکرده‌اند. نقطه پایانی JWKS معمولاً در سیستم‌های بزرگ برای نمایش کلیدهای عمومی استفاده می‌شود تا سرویس‌های مختلف بتوانند منبع توکن را تأیید کنند.

ساختار سه بخش JWT: سربرگ، بارگذاری، امضا

یک JWT استاندارد معمولاً از سه رشته Base64URL جدا شده با نقطه تشکیل شده است: Header.Payload.Signature. بخش اول Header نوع رمز و الگوریتم امضا را توصیف می کند، بخش دوم Payload حاوی ادعاها است و بخش سوم امضا برای تأیید یکپارچگی استفاده می شود.

ادعاهای رایج ثبت شده عبارتند از iss، sub، aud، ex.01 data-i18n="auto.011">nbf، iat و jti. اعتبارسنجی API خوب معمولاً حداقل exp، iss و aud را بررسی می کند.

چگونه JWT در لاگین و API کار می کند؟

فرآیند معمولی این است: کاربر وارد می‌شود، به سرور اجازه می‌دهد رمز عبور حساب یا نتیجه ورود شخص ثالث را تأیید کند و سپس یک نشانه دسترسی صادر می‌کند. قسمت جلویی رمز دسترسی را به درخواست API متصل می کند. back-end API رمز را تأیید می کند و داده های محافظت شده را برمی گرداند.

JWT جایگزینی جهانی برای جلسه نیست. هنگامی که یک توکن صادر می شود، معمولاً می توان آن را بدون بررسی پایگاه داده قبل از انقضا تأیید کرد. با این حال، لغو رمز، تغییرات مجوز فوری و پردازش خروج هنوز باید طراحی شود.

تفاوت بین JWT Validation و JWT Verification چیست؟

اعتبار سنجی JWT معمولاً به بررسی اینکه آیا توکن با قوانین مورد انتظار مطابقت دارد، از جمله اینکه آیا دارای سه بخش است، آیا می توان آن را رمزگشایی کرد، آیا JSON قانونی است، آیا منقضی شده است، آیا صادرکننده صحیح است یا خیر، و اینکه آیا مخاطب با API فعلی مطابقت دارد یا خیر، اشاره دارد.

تأیید JWT از الگوریتم و کلید مشخص شده برای محاسبه مجدد امضا استفاده می کند و سپس آن را با امضای سوم توکن مقایسه می کند. توانایی درک بار به معنای قابل اعتماد بودن توکن نیست. API رسمی باید تأیید مهر و تأیید ادعاها را انجام دهد.

تفاوت بین JWT Decode و JWT Encode چیست؟

JWT Decode پاراگراف های اول و دوم توکن را به JSON تبدیل می کند و به شما امکان می دهد Header و Payload را بخوانید. JWT Encode فرآیند معکوس است: Header JSON و Payload JSON را آماده کنید، Signature ایجاد کنید و در نهایت آنها را در یک توکن کامل ترکیب کنید.

اگر فقط می خواهید محتوای محتویات بار را ببینید، نیازی به راز ندارید. اگر می‌خواهید تأیید کنید که آیا رمز واقعاً توسط سیستم شما صادر شده است، باید از کلید مخفی یا عمومی صحیح برای تأیید امضا استفاده کنید. در حال حاضر این صفحه از HS256 پشتیبانی می کند.

مقایسه ادعاهای JWT: پس از رمزگشایی به کدام فیلدها نگاه کنم؟

هنگام استفاده از رمزگشایی آنلاین JWT، همچنین باید بررسی کنید که چه کسی توکن را صادر کرده است، برای کدام سیستم صادر شده است، چه زمانی اعمال می‌شود، چه زمانی منقضی می‌شود و آیا محدوده مجوز با الزامات API مطابقت دارد یا خیر. جدول زیر ادعاهای رایج JWT را خلاصه می کند.

ادعا کنیدمعنی چینیهنگام اشکال زدایی چه چیزی را بررسی کنیم
issصادرکننده، صادرکنندهچه سرور مجوز شما باشد یا یک ارائه دهنده هویت مورد اعتماد.
فرعیموضوع، کاربر یا شناسه اصلیخواه با کاربر، عضو، حساب سرویس یا دستگاه صحیح مطابقت داشته باشد.
audمخاطب، مخاطب نشانهآیا باید آن را به API فعلی ارسال کرد. خطاهای مخاطب اغلب باعث 401 می شود.
انقضازمان انقضا، زمان انقضامنقضی شده است؛ به تفاوت بین مهر زمانی یونیکس و نمایش منطقه زمانی توجه کنید.
nbfنه قبل، زمان موثرآیا زمان قابل استفاده هنوز نرسیده است. انحراف زمان سرور نیز بر آن تأثیر می گذارد.
iatصادر شده در زمان صدورآیا با زمان واقعی ورود یا رفرش توکن مطابقت دارد؟
jtiشناسه JWT، شناسه منحصر به فرد نشانهآیا می توان از آن برای لیست های ابطال، گزارش های حسابرسی یا بازپخش محافظت از حمله استفاده کرد.
دامنهمحدوده اختیاراتآیا مجوزهای خواندن، نوشتن، مدیریت و سایر مجوزهای مورد نیاز API وجود دارد.

چگونه بین HS256، RS256 و ES256 یکی را انتخاب کنیم؟

alg در JWT Header به تأیید کننده می گوید که کدام الگوریتم باید استفاده شود. HS256 HMAC SHA-256 است و هم صدور و هم تأیید از مجموعه اسرار یکسانی استفاده می کنند. RS256 از امضای کلید خصوصی RSA و تأیید کلید عمومی استفاده می کند. ES256 از الگوریتم منحنی بیضوی استفاده می کند.

باطن باید به وضوح لیستی از الگوریتم های مجاز را مشخص کند تا از تأثیرگذاری مهاجمان بر روند تأیید با تغییر هدر جلوگیری کند. اگر JWT از یک ارائه‌دهنده هویت می‌آید، معمولاً JWKS یا کلید عمومی را دریافت کنید و کودک، iss، aud را علامت بزنید. data-i18n="auto.010">exp.

خطاهای رایج JWT و روش های عیب یابی

رایج ترین مشکلاتی که هنگام استفاده از رمزگشای JWT با آن مواجه می شود این است که توکن در قالب استاندارد سه بخش نیست، رشته Base64URL به طور ناقص کپی شده است، فاصله های سفید قبل و بعد وجود دارد، محموله JSON قانونی نیست، یا رمز امضا به اشتباه استفاده می شود. اگر API 401 یا 403 را برگرداند، توصیه می‌شود ابتدا JWT را رمزگشایی کنید و exp، aud و auto.01">را تأیید کنید.

چک لیست اشکال زدایی JWT
  • آیا رمز در قالب سه بخش header.payload.signature است.
  • آیا سرصفحه مجوز از طرح حامل استفاده می کند یا خیر.
  • آیا exp منقضی شده است و آیا زمان سرور همگام شده است یا خیر.
  • آیا iss و aud با محیط فعلی سازگار است یا خیر.
  • آیا راز HS256 کاملاً با پایان صدور مطابقت دارد یا خیر.
  • آیا RS256 / ES256 از کلید عمومی صحیح و کودک استفاده می کند یا خیر.
  • اینکه آیا ادعاهای مجوز شامل محدوده یا نقش مورد نیاز API هستند.

تفاوت بین JWT، Session و SAML چیست؟

Session معمولاً وضعیت را در سرور یا ذخیره سازی متمرکز ذخیره می کند و مرورگر فقط شناسه جلسه را ذخیره می کند. JWT بخشی از حالت را در توکن قرار می دهد، به طوری که API می تواند از امضا برای تأیید یکپارچگی استفاده کند. SAML مبتنی بر XML است و معمولاً در SSO سازمانی استفاده می شود.

برنامه ریزی کنیدمناسب شرایطموارد قابل توجه
JWTمجوز API، رمز دسترسی SSO، میکروسرویس هاکنترل زمان انقضا، تایید مهر و موم، ابطال و نشت اطلاعات حساس ضروری است.
جلسهوب سایت های سنتی که نیاز به خروج فوری یا کنترل متمرکز وضعیت دارندیک فروشگاه جلسه سمت سرور مورد نیاز است و گسترش خدمات متقابل نیاز به طراحی اضافی دارد.
SAMLیکپارچه سازی هویت سازمانی، سیستم های SSO قدیمیساختارهای XML بزرگتر هستند و امضاها و تنظیمات معمولاً پیچیده تر هستند.

توصیه امنیتی JWT: سئو کلاه سفید باید خطرات را به وضوح یادداشت کند

  • رمز عبور، کلیدهای خصوصی، کلیدهای API، اطلاعات پرداخت یا اطلاعات شخصی حساس را در JWT Header یا Payload قرار ندهید.
  • یک exp معقول تنظیم کنید و رمز دسترسی را برای مدت طولانی معتبر نکنید.
  • الگوریتم‌های مجاز باید در حین راستی‌آزمایی پشتیبان اصلاح شوند، و کورکورانه به alg Header اعتماد نکنید.
  • از یک راز HS256 به اندازه کافی طولانی و تصادفی استفاده کنید. از اسرار مثال در محیط های تولید استفاده نکنید.
  • iss، aud، nbf، i18n="auto.012">iat مورد نیاز را علامت بزنید.
  • از قرار دادن یک لیست مجوزهای بیش از حد بزرگ در JWT خودداری کنید تا هدر بیش از حد بزرگ نشود یا باعث نشت داده نشود.
  • توکن‌های ذخیره‌سازی فرانت‌اند باید XSS، CSRF، ویژگی‌های کوکی و خطرات ذخیره‌سازی مرورگر را ارزیابی کنند.

این ابزار رمزگشایی آنلاین JWT از پردازش بومی مرورگر استفاده می‌کند: رمز، رمز، Header JSON و Payload JSON که شما جای‌گذاری می‌کنید در سرور ToolBoy آپلود نمی‌شود. با این وجود، هنگام برخورد با توکن‌های تولید واقعی، اصل حداقل افشا باید رعایت شود.

JWT اغلب در فرآیند اشکال‌زدایی API همراه با JSON، Base64URL، کوئری URL، مهر زمانی، SHA-256، UUID، regex و سایر فرمت‌های داده ظاهر می‌شود. می‌توانید از ابزار قالب‌بندی JSON، رمزگذاری و رمزگشایی Base64، تبدیل مهر زمانی Unix یا مولد UUID.

برای مطالعه بیشتر، لطفاً به معرفی JSON Web Token jwt.io و RFC 7519. محتوای این صفحه با تمرکز بر اشکال زدایی عملی، سئو کلاه سفید و حریم خصوصی بومی به زبان چینی سازماندهی و بازنویسی شده است.

سوالات متداول رمزگشایی JWT آنلاین

آیا رمزگشایی آنلاین JWT امضا را تأیید می کند؟
رمزگشایی Header و Payload معادل تایید امضا نیست. برای تأیید اینکه آیا توکن دستکاری شده است، لطفاً همان راز را وارد کرده و Verify را اجرا کنید.
آیا JWT Payload می تواند حاوی گذرواژه یا کلید باشد؟
توصیه نمی شود. به طور کلی، JWT فقط Base64URL رمزگذاری شده است، و هر کسی که توکن را دریافت کند، می تواند بار را بخواند.
آیا رمزگذار JWT برای صدور رسمی توکن مناسب است؟
این ابزار برای توسعه، تست و اشکال زدایی مناسب است. محیط رسمی باید دارای توکن های صدور سرویس باطن باشد و اسرار یا کلیدهای خصوصی را به درستی مدیریت کند.