JWT ڈی کوڈر

JSON Web Token پیسٹ کریں تاکہ اس کا header اور payload پڑھیں، دیکھیں کہ یہ کب ختم ہوگا، اور ہر کلیم سمجھیں۔ آپ کا ٹوکن کبھی آپ کے براؤزر سے باہر نہیں جاتا۔

آپ کے براؤزر میں چلتا ہےسائن اپ کی ضرورت نہیںکچھ اپ لوڈ نہیں ہوتا

ڈی کوڈ کرنا تصدیق نہیں ہے۔ کوئی بھی JWT کا ہیڈر اور payload پڑھ سکتا ہے، کیونکہ وہ صرف base64url میں انکوڈ ہوتے ہیں۔ یہ ٹول دکھاتا ہے کہ ٹوکن کیا دعویٰ کرتا ہے؛ یہ ثابت نہیں کرتا کہ ٹوکن اصلی ہے۔ دستخط کی تصدیق ہمیشہ اپنے سرور پر کریں۔

ہیڈر

Payload


      

دستخط کی تصدیق (اختیاری، HS256/HS384/HS512)

آپ کے درج کردہ سیکرٹ سے HMAC دستخط کو آپ کے براؤزر کی Web Crypto API کے ذریعے چیک کرتا ہے۔ سیکرٹ کبھی اس صفحے سے باہر نہیں جاتا۔ RSA/ECDSA ٹوکنز کے لیے جاری کنندہ کی پبلک کلید درکار ہے اور ان کی تصدیق یہاں نہیں ہوتی۔

JWT ڈی کوڈر استعمال کرنے کا طریقہ

  1. ٹوکن انکوڈ شدہ ٹوکن خانے میں پیسٹ کریں۔ Authorization ہیڈر سے آنے والا شروع کا Bearer نظر انداز ہو جاتا ہے۔
  2. header اور payload فوراً ڈی کوڈ ہو کر فارمیٹ شدہ JSON کے طور پر دکھائی دیتے ہیں۔
  3. کلیمز کی وضاحت ٹیبل پڑھیں: exp، iat اور nbf تاریخوں میں تبدیل ہوتے ہیں، «ختم ہو گا» / «ختم ہو چکا» اوقات کے ساتھ۔
  4. میعاد کے مسائل کے لیے سٹیٹس بار اور alg: none جیسی خطرناک سیٹنگز کے لیے وارننگز چیک کریں۔
  5. چاہیں تو HS256، HS384 یا HS512 دستخط کی مقامی تصدیق کے لیے مشترکہ سیکرٹ درج کریں۔

JWT کے اندر کیا ہوتا ہے؟

JSON Web Token (RFC 7519) تین base64url سٹرنگز ہیں جو نقطوں سے جڑی ہوتی ہیں: header.payload.signature۔ header سائننگ الگورتھم (alg) اور ٹوکن کی قسم بتاتا ہے۔ payload میں کلیمز ہوتے ہیں، جیسے صارف کون ہے اور ٹوکن کب ختم ہوگا۔ signature پہلے دو حصوں پر سیکرٹ یا پرائیویٹ کلید سے بنایا جاتا ہے۔

ڈی کوڈ کرنا تصدیق کرنا نہیں ہے

header اور payload صرف انکوڈ ہوتے ہیں، انکرپٹ نہیں، اس لیے ٹوکن رکھنے والا کوئی بھی انہیں پڑھ سکتا ہے۔ اسی لیے JWT payload میں کبھی پاس ورڈز یا سیکرٹس نہ رکھیں۔ ڈی کوڈنگ بتاتی ہے کہ ٹوکن کیا کہتا ہے۔ دستخط کی تصدیق، جو عموماً آپ کے API سرور پر jose یا PyJWT جیسی لائبریری سے ہوتی ہے، ثابت کرتی ہے کہ اسے کس نے جاری کیا اور اس میں تبدیلی نہیں ہوئی۔ سرور کو exp، nbf، iss اور aud بھی چیک کرنے چاہئیں اور غیر متوقع الگورتھمز مسترد کرنے چاہئیں۔

رجسٹرڈ کلیمز کی چیٹ شیٹ

کلیممطلب
issجاری کنندہ: کس نے ٹوکن بنایا اور سائن کیا
subموضوع: عموماً صارف کی ID
audسامعین: ٹوکن کس API کے لیے ہے
expمیعاد ختم ہونے کا وقت، یونکس epoch سے سیکنڈز میں
nbfاس وقت سے پہلے درست نہیں
iatجاری ہونے کا وقت
jtiمنفرد ٹوکن ID، منسوخی کی فہرستوں کے لیے مفید

«token expired» ایررز کی ڈیبگنگ

اگر کوئی API تازہ لگنے والا ٹوکن مسترد کرے تو exp اور nbf کا سرور کی گھڑی سے موازنہ کریں۔ مشینوں کے درمیان گھڑی کا معمولی فرق عام ہے، اس لیے زیادہ تر لائبریریاں 30-60 سیکنڈ کی گنجائش دیتی ہیں۔ یہ بھی چیک کریں کہ exp سیکنڈز میں ہو: ملی سیکنڈ ویلیو ایک عام بگ ہے جو میعاد کو ہزاروں سال آگے لے جاتا ہے۔

اکثر پوچھے جانے والے سوالات

کیا یہاں پروڈکشن JWT پیسٹ کرنا محفوظ ہے؟
ڈی کوڈنگ مکمل طور پر آپ کے براؤزر میں JavaScript سے ہوتی ہے۔ ٹوکن اپ لوڈ، لاگ یا محفوظ نہیں ہوتا۔ پھر بھی کسی بھی credential کی طرح فعال ٹوکنز کو احتیاط سے سنبھالیں اور سکرین شاٹس شیئر کرتے وقت ختم شدہ یا ٹیسٹ ٹوکنز کو ترجیح دیں۔
کیا یہ ٹول JWT دستخط کی تصدیق کرتا ہے؟
صرف ڈی کوڈنگ سے نہیں۔ آپ چاہیں تو مشترکہ سیکرٹ درج کر کے HS256، HS384 اور HS512 ٹوکنز کی تصدیق کر سکتے ہیں؛ HMAC مقامی طور پر Web Crypto API سے بنتا ہے۔ RS256 اور ES256 ٹوکنز کی تصدیق آپ کے سرور پر جاری کنندہ کی پبلک کلید سے ہونی چاہیے۔
میرا ٹوکن ختم شدہ کیوں دکھ رہا ہے؟
exp کلیم آپ کے کمپیوٹر کی گھڑی کے مقابلے میں ماضی میں ہے۔ نیا ٹوکن لیں، یا اپنے refresh token سے اسے تازہ کریں۔ اگر اوقات غلط لگیں تو گھڑی کا فرق یا ملی سیکنڈز میں لکھی exp ویلیو چیک کریں۔
JWT، JWS اور JWE میں کیا فرق ہے؟
JWT کلیمز کا فارمیٹ ہے۔ JWS تین حصوں والا سائن شدہ JWT ہے، اور یہی یہ ٹول ڈی کوڈ کرتا ہے۔ JWE پانچ حصوں والا انکرپٹڈ JWT ہے؛ ڈی کرپشن کلید کے بغیر اس کا payload نہیں پڑھا جا سکتا۔
alg «none» خطرناک کیوں ہے؟
بغیر دستخط کا ٹوکن کوئی بھی جعلی بنا سکتا ہے۔ سرورز کو alg: none مسترد کرنا چاہیے اور صرف وہی مخصوص الگورتھم قبول کرنا چاہیے جس کی وہ توقع کرتے ہیں۔

متعلقہ ٹولز