این ابزار درست کار نمی‌کند؟

دربارهٔ ابزار «رمزگشای JWT آنلاین»

این ابزار یک JSON Web Token (JWT) را به سه بخش تشکیل‌دهنده آن رمزگشایی می‌کند: header، payload و امضا. یک توکن از جریان احراز هویت برنامه خود، یک هدر Authorization، یا یک کوکی را جای‌گذاری کنید، و ابزار محتویات JSON تجزیه‌شده هدر و payload را همراه با بایت‌های امضای خام برمی‌گرداند.

JWTها به طور گسترده برای احراز هویت، مدیریت جلسه، و مجوز API استفاده می‌شوند. رمزگشایی (نه تأیید) آشکار می‌کند توکن چه داده‌ای حمل می‌کند — شناسه کاربر، زمان انقضا، scopes، ادعاهای سفارشی — برای اشکال‌زدایی مسائل احراز هویت و تأیید آنچه واقعاً مشتری شما ارسال کرده مفید است.

مهم: این ابزار رمزگشایی می‌کند اما امضاها را تأیید نمی‌کند. یک JWT رمزگشایی شده نشان می‌دهد صادرکننده چه ادعا می‌کند، نه اینکه آیا آن ادعاها معتبر هستند. برای بررسی‌های امنیتی، سرور شما باید امضا را در برابر کلید عمومی صادرکننده تأیید کند.

چطور از این ابزار استفاده کنم؟

چطور header و payload یک JSON Web Token را inspect کنم؟

  1. JWT را بچسبانید

    token را در فیلد «Token» قرار دهید. JWTها مثل `xxx.yyy.zzz` به‌نظر می‌رسند — سه segment base64url با dot جدا. ابزار روی dot split و دوتای اول را decode می‌کند.

  2. «اجرا» را بزنید

    خروجی `header` (الگوریتم و نوع، مثل `{ "alg": "HS256", "typ": "JWT" }`) و `payload` (claimهای شما — `sub`، `exp`، `iat` و app-specific) را برمی‌گرداند. segment سوم (signature) verify نمی‌شود یا نشان داده نمی‌شود.

  3. این چیست نیست

    decoding ≠ verifying. هر کسی با token می‌تواند payload را بخواند؛ آنچه اصالت را اثبات می‌کند signature است که نیاز به secret/public key دارد. به token unsigned اعتماد نکنید — برای verify در یک سرور تحت کنترل خود از jwt-encoder یا کتابخانهٔ auth استفاده کنید.

  4. claimهای رایج که ارزش چک دارند

    `exp` یک Unix timestamp است — token منقضی نباید پذیرفته شود حتی اگر signature معتبر باشد. `iss` باید با issuer مورد انتظار شما مطابقت کند. `aud` باید با service شما مطابقت داشته باشد. اگر payload خوب به‌نظر می‌رسد ولی auth fail می‌کند، signature اشتباه است، نه claimها.