رمزگشای JWT

یک JSON Web Token را جای‌گذاری کنید تا header و payload آن را به‌صورت JSON قالب‌بندی‌شده ببینید. timestampهایی مانند exp، iat و nbf به تاریخ خوانا تبدیل می‌شوند و توکن‌های منقضی‌شده علامت‌گذاری می‌شوند.

ساختار JWT

JWT سه بخش دارد که با نقطه از هم جدا شده‌اند: header.payload.signature. header و payload اشیای JSON هستند که با Base64URL و بدون padding رمزگذاری شده‌اند. امضا روی دو بخش اول و با الگوریتمی که در header (alg) آمده محاسبه می‌شود، مثلاً HS256 یا RS256.

Claimهای ثبت‌شده

Claimمعنی
issصادرکننده (Issuer)
subموضوع (معمولاً شناسه کاربر)
audمخاطب (Audience)
expزمان انقضا (ثانیه از 1970)
nbfمعتبر نیست تا
iatزمان صدور
jtiشناسه یکتای توکن

رمزگشایی JWT در JavaScript

const [h, p] = token.split('.');
const json = (s) => JSON.parse(new TextDecoder().decode(
  Uint8Array.from(atob(s.replace(/-/g, '+').replace(/_/g, '/')), (c) => c.charCodeAt(0))));
console.log(json(h), json(p));

سؤالات متداول

آیا جای‌گذاری JWT در اینجا امن است؟

رمزگشایی کاملاً در مرورگر شما انجام می‌شود؛ چیزی به سرور ارسال نمی‌شود. با این حال، توکن‌های production را محرمانه نگه دارید.

آیا رمزگشایی، امضا را تأیید می‌کند؟

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

ابزارها و راهنماهای مرتبط

دیدگاه‌ها (0)

سؤال، ایده یا باگی در «رمزگشای JWT» دارید؟ دیدگاه بگذارید، به ابزار امتیاز دهید یا به دیگران پاسخ دهید.

هنوز دیدگاهی ثبت نشده است. اولین نفری باشید که نظر خود را به اشتراک می‌گذارد!

دیدگاه بگذارید

به این ابزار امتیاز دهید:
Esc
↑ ↓ جابه‌جایی↵ باز کردنEsc بستن