مواد پر جائیں

header.payload.signature

JWT ڈی کوڈر

JSON Web Token (JWT) نقطوں سے الگ کیے گئے 3 Base64url حصے ہیں: ہیڈر، پے لوڈ اور دستخط۔ ٹوکن پیسٹ کریں تو اس کے کلیمز اور اوقات پڑھے جاتے ہیں؛ یہاں اسے ڈی کوڈ کیا جاتا ہے، تصدیق نہیں۔

ٹوکن اسی ٹیب میں رہتا ہے اور کہیں نہیں بھیجا جاتا۔ ڈی کوڈ شدہ ٹوکن قابلِ اعتماد ٹوکن نہیں ہوتا: یہاں دستخط کی کبھی جانچ نہیں ہوتی۔

Scanned by NortonTM Safe Web

ایک نظر میں

قیمت
کوئی چارج نہیں
اکاؤنٹ
ضرورت نہیں
معیارات
RFC 7519 (JWT)، RFC 7515 (JWS)، RFC 7516 (JWE)
دستخط
تصدیق نہیں ہوتی — ٹوکن صرف ڈی کوڈ ہوتا ہے
اوقات
exp، nbf اور iat UTC میں دکھائے جاتے ہیں اور آپ کی گھڑی سے موازنہ ہوتا ہے
اپ لوڈ
کوئی نہیں — ٹوکن آپ کے براؤزر ٹیب میں رہتا ہے

نمونے کا ٹوکن اور عام الگورتھم

اس صفحے کا نمونہ ٹوکن ایک عارضی کلید پر HMAC-SHA-256 سے دستخط شدہ ہے۔ صفحے نے پہلا جدول بنانے کے لیے اسے ڈی کوڈ کیا۔

نمونے کے ٹوکن کے کلیمز
کلیمقدروقت (UTC)
issauth.example.com—
subuser-42—
audapi—
iat17000000002023-11-14 22:13:20 UTC
exp17000036002023-11-14 23:13:20 UTC
دستخط کے عام الگورتھم (alg)
algخاندانہیشدستخط کا سائز
HS256HMACSHA-25632 B
HS512HMACSHA-51264 B
RS256RSASSA-PKCS1-v1_5SHA-256256 B (2048-bit key)
ES256ECDSA P-256SHA-25664 B
ES512ECDSA P-521SHA-512132 B
EdDSAEdDSA—64 B (Ed25519)

JWT کو ڈی کوڈ کیسے کریں

1

ٹوکن پیسٹ کریں

پورا ٹوکن پیسٹ کریں، شروع میں Bearer کے ساتھ یا بغیر۔ اس کے 3 حصے نقطوں سے الگ ہوتے ہیں، یا 5 اگر وہ انکرپٹڈ JWE ہو۔

2

حصے پڑھیں

ہیڈر اور پے لوڈ فارمیٹ شدہ JSON کے طور پر ظاہر ہوتے ہیں اور ہر کلیم جدول میں درج ہوتا ہے۔ اوقات exp، nbf اور iat UTC میں دکھائے جاتے ہیں۔

3

وقت جانچیں

صفحہ exp اور nbf کا آپ کے ڈیوائس کی گھڑی سے موازنہ کرتا ہے اور بتاتا ہے کہ ٹوکن کی میعاد ختم ہو چکی ہے یا نہیں۔ یہ نہیں بتاتا کہ ٹوکن اصلی ہے یا نہیں۔

JWT کیسے بنا ہوتا ہے

JWT (RFC 7519) header.payload.signature کی شکل میں لکھا جاتا ہے۔ ہیڈر اور پے لوڈ JSON آبجیکٹ ہیں، ہر ایک پیڈنگ کے بغیر Base64url میں انکوڈ (RFC 4648، سیکشن 5)، اور دستخط اسی انکوڈنگ میں خام بائٹس ہیں۔ ڈی کوڈنگ صرف انکوڈنگ بدلتی ہے، اس لیے جس کے پاس بھی ٹوکن ہو وہ اس کا پے لوڈ پڑھ سکتا ہے: اس میں راز نہ رکھیں۔ ہیڈر alg میں دستخط کے الگورتھم کا نام دیتا ہے، جیسے HS256 (SHA-256 کے ساتھ HMAC، 32 بائٹ کا دستخط) یا RS256 (SHA-256 کے ساتھ RSA، 2048 بٹ کی کلید کے لیے 256 بائٹ)۔

یہ صفحہ ٹوکن ڈی کوڈ کرتا ہے اور اس سے زیادہ کچھ نہیں کرتا۔ یہ دستخط کی جانچ نہیں کرتا، کیونکہ اس کے لیے کلید چاہیے، اور یہ نہیں بتا سکتا کہ ٹوکن اصلی ہے، منسوخ ہو چکا ہے یا کسی سرور نے قبول کیا ہے۔ یہ exp، nbf اور iat کلیمز، جو 1970-01-01 UTC سے سیکنڈ گنتے ہیں، کا آپ کے ڈیوائس کی گھڑی سے موازنہ کرتا ہے اور انہیں UTC تاریخ و وقت کے طور پر چھاپتا ہے۔ 5 حصوں والا ٹوکن JWE ہے: اس کا مواد انکرپٹڈ ہے، اس لیے صرف اس کا ہیڈر دکھایا جا سکتا ہے۔

JWT کے سوالات

JWT کو ڈی کوڈ کیسے کروں؟

ٹوکن کو باکس میں پیسٹ کریں۔ صفحہ اسے نقطوں پر تقسیم کرتا ہے، پہلے دو حصوں کو Base64url سے بدلتا ہے اور JSON کے طور پر دکھاتا ہے۔ شروع کا Bearer نظر انداز ہوتا ہے۔ نمونے کے ٹوکن کا ہیڈر {"alg":"HS256","typ":"JWT"} ہے۔

کیا یہ صفحہ دستخط کی تصدیق کرتا ہے؟

نہیں۔ تصدیق کے لیے خفیہ کلید یا پبلک کلید چاہیے، اور یہ صفحہ کبھی ان میں سے کوئی نہیں مانگتا۔ جو ٹوکن یہاں ڈی کوڈ ہو جائے وہ پھر بھی جعلی، تبدیل شدہ یا منسوخ ہو سکتا ہے۔ دستخط کی تصدیق اپنے سرور کے کوڈ میں کسی برقرار رکھی جانے والی JWT لائبریری سے کریں۔

exp، iat اور nbf کا کیا مطلب ہے؟

یہ 1970-01-01 UTC سے سیکنڈوں میں اوقات ہیں (RFC 7519)۔ exp وہ وقت ہے جب ٹوکن کی میعاد ختم ہوتی ہے، nbf وہ وقت ہے جس سے پہلے اسے قبول نہیں کرنا چاہیے، اور iat وہ وقت ہے جب وہ جاری ہوا۔ نمونے کے ٹوکن میں iat 1700000000 یعنی 2023-11-14 22:13:20 UTC ہے اور exp 1700003600 اس سے ایک گھنٹہ بعد ہے۔

کیا یہاں اصلی ٹوکن پیسٹ کرنا محفوظ ہے؟

ٹوکن آپ کے براؤزر ٹیب میں رہتا ہے اور کہیں نہیں بھیجا جاتا۔ پھر بھی فعال ٹوکن ایک اسناد ہے: جس کے پاس بھی ہو وہ میعاد ختم ہونے تک اسے استعمال کر سکتا ہے۔ وہی ٹوکن پیسٹ کریں جو آپ کے ہوں، اور ممکن ہو تو میعاد ختم یا ٹیسٹ ٹوکن کو ترجیح دیں۔

میرے ٹوکن کے 5 حصے کیوں ہیں؟

5 حصوں والا ٹوکن JWE ہے، یعنی انکرپٹڈ JSON Web Token (RFC 7516)۔ اس کا پے لوڈ وصول کنندہ کے لیے انکرپٹ ہوتا ہے، اس لیے یہ صفحہ صرف ہیڈر اور حصوں کے سائز دکھاتا ہے۔ مواد یہاں نہیں پڑھا جا سکتا۔

"not Base64url" یا "not JSON" کا کیا مطلب ہے؟

پہلے دو حصوں میں سے ہر ایک Base64url متن ہونا چاہیے جو JSON آبجیکٹ میں ڈی کوڈ ہو۔ صفحہ ناکام حصے کا نام اور وجہ بتاتا ہے: الفابیٹ سے باہر کا حرف، ایسے بائٹس جو UTF-8 نہیں، یا کسی لائن اور کالم پر غلطی والا JSON۔ عام وجہ کٹا ہوا یا اضافی حروف والا ٹوکن ہوتی ہے۔