CodeShot
Midسختی 2 از ۵· در 65٪ مصاحبه‌های این حوزه پرسیده شده

چرا می‌گویند JWT رمزنگاری‌شده نیست؟ این موضوع چه پیامد امنیتی دارد؟

نشان کردن

پاسخ کوتاه

چون Payload فقط Base64Url Encode شده، نه رمزنگاری؛ هرکسی می‌تواند آن را بخواند، فقط نمی‌تواند بدون کلید تغییرش دهد.

پاسخ کامل

این یعنی هیچ داده حساسی (رمز عبور، شماره کارت و مشابه) نباید داخل Payload یک JWT قرار بگیرد، چون هرکسی که Token را در اختیار داشته باشد می‌تواند محتوایش را ببیند.

اشتباه رایج

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