رمزگشایی سربرگ
JSONپس از چسباندن JWT، محتوای تجزیه شده در اینجا نمایش داده می شود.
سرآیند و بار JSON Web Token را در مرورگر ببینید؛ امضا اعتبارسنجی نمیشود.
JWT را در زیر بچسبانید تا فورا رمزگشایی، بازرسی و تأیید شود.
در انتظار ورودی JSON Web Token.
پس از چسباندن JWT، محتوای تجزیه شده در اینجا نمایش داده می شود.
پس از چسباندن JWT، محتوای تجزیه شده در اینجا نمایش داده می شود.
امضا پس از رمزگشایی در اینجا نمایش داده می شود.
راز مورد استفاده در هنگام صدور JWT را وارد کنید. تأیید HS256 به صورت بومی در مرورگر شما انجام می شود.
Header و Payload JSON را ویرایش کنید و از امضای HS256 استفاده کنید.
برای تولید JWT آماده شوید.
این مجموعه از توکن ها برای آزمایش محلی و اشکال زدایی توسعه مناسب است.
JWT یک فرمت رمزی است که معمولاً برای ورود به سیستم، تأیید API و مجوز بین سرویس استفاده می شود. این شامل سه بخش است: سربرگ، بارگذاری و امضا.
محتوای بار قابل رمزگشایی و خواندن است و اطلاعات حساس نباید در ادعاهای JWT قرار گیرد.
این صفحه از تأیید و تولید امضای HS256 پشتیبانی میکند و بررسی اینکه آیا توکن محیط آزمایشی با همان راز ایجاد شده است یا خیر.
تمام رمزگشایی JWT، رمزگذاری و تأیید امضا به صورت بومی در مرورگر انجام می شود.
پایگاه دانش سئو JWT
اگر به دنبال «رمزگشا JWT»، «رمزگشا JWT»، «تجزیه توکن وب JSON»، «JWT Verify» یا «رمزگذار JWT» میگردید، معمولاً به این معنی است که شما از قبل یک رمز دارید و باید به سرعت سرصفحه، بار بار، زمان انقضا، الگوریتم امضا و ادعاهای آن را درک کنید. این صفحه نه تنها ابزارهای آنلاین رمزگشایی JWT را ارائه می دهد، بلکه دانش اولیه JWT را که توسعه دهندگان اغلب در مورد آن پرس و جو می کنند، سازماندهی می کند.
JWT مخفف JSON Web Token است. این یک قالب توکن است که از JSON برای نمایش اطلاعات استفاده می کند و سپس آن را به یک رشته ساده تبدیل می کند. اغلب در وبسایتهای جداسازی front-end و back-end، برنامه API، ورود به سیستم اعضا، SSO با ورود به سیستم، مجوز میکروسرویس و تبادل داده بین سرویسها استفاده میشود.
رمزگشایی JWT نیازی به رمز عبور ندارد زیرا سربرگ و Payload فقط Base64URL کدگذاری شده اند، نه رمزگذاری شده. هر کسی که رمز را دریافت کند میتواند از رمزگشای JWT برای مشاهده محتوای محموله استفاده کند، بنابراین ادعاها نمیتوانند حاوی گذرواژه، کلیدهای API یا اطلاعات شخصی حساس باشند.
رایج ترین مورد استفاده، مجوز است. پس از اینکه کاربر با موفقیت وارد سیستم شد، سرور مجوز JWT صادر می کند. هنگامی که بخش جلویی یا برنامه متعاقباً API را فراخوانی میکند، رمز در سربرگ مجوز HTTP، مانند Authorization: Bearer قرار میگیرد.
JWT همچنین معمولاً برای تبادل اطلاعات استفاده می شود. هنگامی که دو سیستم نیاز به مبادله دادههای قابل تأیید دارند، امضاها به گیرنده اجازه میدهند تا تأیید کند که دادهها در طول انتقال تغییر نکردهاند. نقطه پایانی JWKS معمولاً در سیستمهای بزرگ برای نمایش کلیدهای عمومی استفاده میشود تا سرویسهای مختلف بتوانند منبع توکن را تأیید کنند.
یک JWT استاندارد معمولاً از سه رشته Base64URL جدا شده با نقطه تشکیل شده است: Header.Payload.Signature. بخش اول Header نوع رمز و الگوریتم امضا را توصیف می کند، بخش دوم Payload حاوی ادعاها است و بخش سوم امضا برای تأیید یکپارچگی استفاده می شود.
ادعاهای رایج ثبت شده عبارتند از iss، sub، aud، ex.01 data-i18n="auto.011">nbf، iat و jti. اعتبارسنجی API خوب معمولاً حداقل exp، iss و aud را بررسی می کند.
فرآیند معمولی این است: کاربر وارد میشود، به سرور اجازه میدهد رمز عبور حساب یا نتیجه ورود شخص ثالث را تأیید کند و سپس یک نشانه دسترسی صادر میکند. قسمت جلویی رمز دسترسی را به درخواست API متصل می کند. back-end API رمز را تأیید می کند و داده های محافظت شده را برمی گرداند.
JWT جایگزینی جهانی برای جلسه نیست. هنگامی که یک توکن صادر می شود، معمولاً می توان آن را بدون بررسی پایگاه داده قبل از انقضا تأیید کرد. با این حال، لغو رمز، تغییرات مجوز فوری و پردازش خروج هنوز باید طراحی شود.
اعتبار سنجی JWT معمولاً به بررسی اینکه آیا توکن با قوانین مورد انتظار مطابقت دارد، از جمله اینکه آیا دارای سه بخش است، آیا می توان آن را رمزگشایی کرد، آیا JSON قانونی است، آیا منقضی شده است، آیا صادرکننده صحیح است یا خیر، و اینکه آیا مخاطب با API فعلی مطابقت دارد یا خیر، اشاره دارد.
تأیید JWT از الگوریتم و کلید مشخص شده برای محاسبه مجدد امضا استفاده می کند و سپس آن را با امضای سوم توکن مقایسه می کند. توانایی درک بار به معنای قابل اعتماد بودن توکن نیست. API رسمی باید تأیید مهر و تأیید ادعاها را انجام دهد.
JWT Decode پاراگراف های اول و دوم توکن را به JSON تبدیل می کند و به شما امکان می دهد Header و Payload را بخوانید. JWT Encode فرآیند معکوس است: Header JSON و Payload JSON را آماده کنید، Signature ایجاد کنید و در نهایت آنها را در یک توکن کامل ترکیب کنید.
اگر فقط می خواهید محتوای محتویات بار را ببینید، نیازی به راز ندارید. اگر میخواهید تأیید کنید که آیا رمز واقعاً توسط سیستم شما صادر شده است، باید از کلید مخفی یا عمومی صحیح برای تأیید امضا استفاده کنید. در حال حاضر این صفحه از HS256 پشتیبانی می کند.
هنگام استفاده از رمزگشایی آنلاین JWT، همچنین باید بررسی کنید که چه کسی توکن را صادر کرده است، برای کدام سیستم صادر شده است، چه زمانی اعمال میشود، چه زمانی منقضی میشود و آیا محدوده مجوز با الزامات API مطابقت دارد یا خیر. جدول زیر ادعاهای رایج JWT را خلاصه می کند.
| ادعا کنید | معنی چینی | هنگام اشکال زدایی چه چیزی را بررسی کنیم |
|---|---|---|
iss | صادرکننده، صادرکننده | چه سرور مجوز شما باشد یا یک ارائه دهنده هویت مورد اعتماد. |
فرعی | موضوع، کاربر یا شناسه اصلی | خواه با کاربر، عضو، حساب سرویس یا دستگاه صحیح مطابقت داشته باشد. |
aud | مخاطب، مخاطب نشانه | آیا باید آن را به API فعلی ارسال کرد. خطاهای مخاطب اغلب باعث 401 می شود. |
انقضا | زمان انقضا، زمان انقضا | منقضی شده است؛ به تفاوت بین مهر زمانی یونیکس و نمایش منطقه زمانی توجه کنید. |
nbf | نه قبل، زمان موثر | آیا زمان قابل استفاده هنوز نرسیده است. انحراف زمان سرور نیز بر آن تأثیر می گذارد. |
iat | صادر شده در زمان صدور | آیا با زمان واقعی ورود یا رفرش توکن مطابقت دارد؟ |
jti | شناسه JWT، شناسه منحصر به فرد نشانه | آیا می توان از آن برای لیست های ابطال، گزارش های حسابرسی یا بازپخش محافظت از حمله استفاده کرد. |
دامنه | محدوده اختیارات | آیا مجوزهای خواندن، نوشتن، مدیریت و سایر مجوزهای مورد نیاز API وجود دارد. |
alg در JWT Header به تأیید کننده می گوید که کدام الگوریتم باید استفاده شود. HS256 HMAC SHA-256 است و هم صدور و هم تأیید از مجموعه اسرار یکسانی استفاده می کنند. RS256 از امضای کلید خصوصی RSA و تأیید کلید عمومی استفاده می کند. ES256 از الگوریتم منحنی بیضوی استفاده می کند.
باطن باید به وضوح لیستی از الگوریتم های مجاز را مشخص کند تا از تأثیرگذاری مهاجمان بر روند تأیید با تغییر هدر جلوگیری کند. اگر JWT از یک ارائهدهنده هویت میآید، معمولاً JWKS یا کلید عمومی را دریافت کنید و کودک، iss، aud را علامت بزنید. data-i18n="auto.010">exp.
رایج ترین مشکلاتی که هنگام استفاده از رمزگشای JWT با آن مواجه می شود این است که توکن در قالب استاندارد سه بخش نیست، رشته Base64URL به طور ناقص کپی شده است، فاصله های سفید قبل و بعد وجود دارد، محموله JSON قانونی نیست، یا رمز امضا به اشتباه استفاده می شود. اگر API 401 یا 403 را برگرداند، توصیه میشود ابتدا JWT را رمزگشایی کنید و exp، aud و auto.01">را تأیید کنید.
header.payload.signature است. حامل استفاده می کند یا خیر.exp منقضی شده است و آیا زمان سرور همگام شده است یا خیر.iss و aud با محیط فعلی سازگار است یا خیر.کودک استفاده می کند یا خیر.Session معمولاً وضعیت را در سرور یا ذخیره سازی متمرکز ذخیره می کند و مرورگر فقط شناسه جلسه را ذخیره می کند. JWT بخشی از حالت را در توکن قرار می دهد، به طوری که API می تواند از امضا برای تأیید یکپارچگی استفاده کند. SAML مبتنی بر XML است و معمولاً در SSO سازمانی استفاده می شود.
| برنامه ریزی کنید | مناسب شرایط | موارد قابل توجه |
|---|---|---|
| JWT | مجوز API، رمز دسترسی SSO، میکروسرویس ها | کنترل زمان انقضا، تایید مهر و موم، ابطال و نشت اطلاعات حساس ضروری است. |
| جلسه | وب سایت های سنتی که نیاز به خروج فوری یا کنترل متمرکز وضعیت دارند | یک فروشگاه جلسه سمت سرور مورد نیاز است و گسترش خدمات متقابل نیاز به طراحی اضافی دارد. |
| SAML | یکپارچه سازی هویت سازمانی، سیستم های SSO قدیمی | ساختارهای XML بزرگتر هستند و امضاها و تنظیمات معمولاً پیچیده تر هستند. |
exp معقول تنظیم کنید و رمز دسترسی را برای مدت طولانی معتبر نکنید.alg Header اعتماد نکنید.iss، aud، nbf، i18n="auto.012">iat مورد نیاز را علامت بزنید.این ابزار رمزگشایی آنلاین 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. محتوای این صفحه با تمرکز بر اشکال زدایی عملی، سئو کلاه سفید و حریم خصوصی بومی به زبان چینی سازماندهی و بازنویسی شده است.