رمزگشای 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» دارید؟ دیدگاه بگذارید، به ابزار امتیاز دهید یا به دیگران پاسخ دهید.
هنوز دیدگاهی ثبت نشده است. اولین نفری باشید که نظر خود را به اشتراک میگذارد!