JWT مخفف JSON Web Token و قالبی فشرده برای انتقال مجموعهای از Claimها میان طرفین است. JWT معمولاً از بخشهای Header، Payload و Signature تشکیل میشود.
امضای JWT امکان تشخیص دستکاری را فراهم میکند، اما لزوماً محتوای Payload را رمزنگاری نمیکند. اطلاعات حساس نباید بدون رمزنگاری مناسب در Payload قرار گیرند و انقضا و اعتبارسنجی امضا باید بررسی شود.
یک سناریوی کاربردی
JWT شامل Header، Payload و Signature است. امضا صحت و تمامیت Token را بررسی میکند، اما Payload بهطور پیشفرض رمزنگاری نشده و میتواند قابل خواندن باشد.
چرا Payload را محرمانه فرض نکنیم؟
بخش Payload در JWT معمولی با Base64url کدگذاری میشود، نه رمزنگاری. هر دارنده توکن میتواند Claims را بخواند. برای اعتبار توکن باید Signature و Claims امنیتی بررسی شوند.