مواد پر جائیں

JWT ڈیکوڈر – JSON Web Token پڑھیں

JWT پیسٹ کریں اور اس کا header، اس کے claims اور میعاد ختم ہونے کا وقت صاف، پڑھنے کے قابل JSON میں دیکھیں۔ ٹوکن آپ کے ڈیوائس پر ڈیکوڈ ہوتا ہے اور کہیں نہیں بھیجا جاتا۔

یہ مکمل طور پر آپ کے براؤزر میں چلتا ہے۔ آپ جو کچھ پیسٹ کرتے ہیں وہ کہیں نہیں بھیجا جاتا۔

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

  1. اپنا ٹوکن پیسٹ کریں JSON Web Token والے خانے میں، یا مثال آزمائیں دبا کر ایک بے ضرر نمونہ ٹوکن لوڈ کریں۔
  2. رنگ دیکھیں۔ خانے کے نیچے ٹوکن header، payload اور signature میں بٹا ہوا نظر آتا ہے، ہر حصہ اپنے رنگ میں، تاکہ پتا چلے کون سا حصہ کہاں سے شروع ہوتا ہے۔
  3. Header اور Payload پڑھیں فارمیٹ شدہ JSON کی صورت میں۔ کسی بھی بلاک کے ساتھ لگا کاپی بٹن اس کا JSON کاپی کر دیتا ہے۔
  4. وقت والے claims دیکھیں۔ میعاد ختم (exp)، جاری ہوا (iat) اور اس سے پہلے نہیں (nbf) عام تاریخوں میں بدل دیے جاتے ہیں، اور ساتھ ایک اسٹیٹس بیج ہوتا ہے: میعاد باقی ہے، میعاد ختم، ابھی قابلِ استعمال نہیں، یا میعاد مقرر نہیں۔

خصوصیات

  • پیسٹ کرتے ہی ڈیکوڈ، کوئی بٹن دبانے کی ضرورت نہیں۔
  • Header اور payload صاف ستھرے JSON میں، ہر ایک کا اپنا کاپی بٹن۔
  • exp، iat اور nbf کی پڑھنے کے قابل تاریخیں، اور میعاد کا واضح اسٹیٹس۔
  • Bearer کے ساتھ بھی قبول، اس لیے Authorization ہیڈر کی ویلیو جوں کی توں پیسٹ کریں۔
  • alg none پر وارننگ، یعنی بغیر signature والا ٹوکن جس پر کبھی بھروسا نہیں کرنا چاہیے۔
  • واضح error پیغامات: غلط تعداد کے حصے، غلط Base64URL، غلط JSON، یا پانچ حصوں والا encrypted JWE۔
  • Unicode سپورٹ، اس لیے اردو، ہندی یا کسی بھی زبان میں لکھے نام اور claims صحیح دکھتے ہیں۔

Fileora کا JWT ڈیکوڈر کیوں استعمال کریں

Access ٹوکنز، ID ٹوکنز اور refresh ٹوکنز دراصل لاگ اِن کی چابیاں ہیں۔ انہیں کسی ایسی ویب سائٹ میں پیسٹ کرنا جو انہیں سرور پر بھیجتی ہو ایک حقیقی خطرہ ہے، کیونکہ جس کے پاس valid ٹوکن ہو وہ اس کی میعاد ختم ہونے تک اُس یوزر کی جگہ کام کر سکتا ہے۔ Fileora ٹوکن کو آپ کے براؤزر میں JavaScript سے ڈیکوڈ کرتا ہے، اس لیے ٹوکن آپ کے ڈیوائس سے باہر نہیں جاتا اور اس کے بارے میں کچھ ریکارڈ نہیں ہوتا۔

یہ ٹول مفت ہے، سائن اپ کی ضرورت نہیں اور کوئی حد نہیں۔ یہ لیپ ٹاپ کی طرح فون پر بھی چلتا ہے، جو کسی موبائل ایپ یا سپورٹ ٹکٹ سے ملا ٹوکن جانچتے وقت کام آتا ہے۔

JWT کیسے بنتا ہے

ایک signed JWT نقطوں سے جڑے تین ٹکڑوں پر مشتمل ہوتا ہے: header.payload.signature۔ Header اور payload دونوں JSON objects ہیں جنہیں Base64URL سے انکوڈ کیا جاتا ہے، جو Base64 کی وہ قسم ہے جو URLs میں محفوظ رہتی ہے۔ یہ encoding کوئی encryption نہیں۔ جس کے پاس بھی ٹوکن ہو وہ اس کا ہر claim پڑھ سکتا ہے، اور یہ ٹول بالکل یہی کرتا ہے۔

Header میں alg سائن کرنے کا الگورتھم بتاتا ہے، مثلاً HS256 (مشترکہ secret) یا RS256 (private اور public key کا جوڑا)۔ Payload میں claims ہوتے ہیں: یوزر کے لیے sub، جاری کرنے والے کے لیے iss، جس کے لیے ٹوکن بنا اس کے لیے aud، اور وقت والے claims exp، iat اور nbf، جو 1970 سے سیکنڈز میں گنے جاتے ہیں۔

Signature ہی ٹوکن کو قابلِ بھروسا بناتا ہے۔ آپ کا سرور اپنی key سے header اور payload کا signature دوبارہ نکالتا ہے، اور ٹوکن کو رد کر دیتا ہے اگر نتیجہ میچ نہ کرے، اگر alg متوقع نہ ہو، یا اگر exp گزر چکا ہو۔ چونکہ کوئی بھی شخص اپنی مرضی کے payload والا ٹوکن بنا سکتا ہے، اس لیے کسی ایک claim پر بھروسا کرنے سے پہلے ہمیشہ اپنے سرور پر secret یا public key سے signature کی تصدیق کریں۔ اس جیسا ڈیکوڈر پڑھنے اور ڈیبگ کرنے کے لیے ہے، یہ فیصلہ کرنے کے لیے نہیں کہ کون لاگ اِن ہے۔

دو کام کی باتیں

Payload میں کبھی پاس ورڈ یا کوئی اور راز نہ رکھیں، کیونکہ اسے کوئی بھی پڑھ سکتا ہے، اور میعاد کم سے کم رکھیں۔ جب سائن کرنے کے لیے لمبا رینڈم secret چاہیے ہو تو پاس ورڈ جنریٹر بنا دیتا ہے۔ ہاتھ سے payload بناتے وقت JSON فارمیٹر اسے صاف رکھنے میں مدد دیتا ہے، اور ٹوکن کا کوئی ایک حصہ خود ڈیکوڈ کرنا ہو تو Base64 انکوڈ اور ڈیکوڈ میں URL-safe Base64 بھی پڑھا جا سکتا ہے۔

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

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

ٹوکن خانے میں پیسٹ کریں۔ درست ٹوکن فوراً اپنے تین حصوں میں بٹ جاتا ہے: header اور payload فارمیٹ شدہ JSON کی صورت میں آتے ہیں، اور exp، iat اور nbf claims عام تاریخوں میں دکھائے جاتے ہیں، ساتھ میں میعاد ختم یا میعاد باقی ہے جیسا اسٹیٹس۔ آپ Authorization ہیڈر کی پوری ویلیو بھی پیسٹ کر سکتے ہیں، شروع کا Bearer خود ہٹا دیا جاتا ہے۔

کیا یہ ٹول ٹوکن کا signature تصدیق کرتا ہے؟

نہیں، اور ایسا جان بوجھ کر ہے۔ Signature جانچنے کے لیے secret key یا جاری کرنے والے کی public key چاہیے، اور ان کی جگہ آپ کا سرور ہے، کوئی ویب صفحہ نہیں۔ ڈیکوڈ کرنا صرف ٹوکن کے وہ حصے پڑھتا ہے جو کوئی بھی پڑھ سکتا ہے۔ یہاں جو نظر آئے اسے ڈیبگنگ کی معلومات سمجھیں، کبھی اس بات کا ثبوت نہیں کہ ٹوکن اصلی ہے۔

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

ٹوکن آپ کے اپنے براؤزر میں JavaScript سے ڈیکوڈ ہوتا ہے، اور نہ اپ لوڈ ہوتا ہے، نہ ریکارڈ، نہ محفوظ۔ پھر بھی یاد رکھیں کہ چالو access ٹوکن جب تک valid ہے، پاس ورڈ ہی کی طرح ہے، اس لیے بہتر عادت یہ ہے کہ جہاں ممکن ہو ختم شدہ یا ٹیسٹ ٹوکن پیسٹ کریں، اور چالو ٹوکنز کے اسکرین شاٹ کسی کو نہ بھیجیں۔

یہ کیوں کہہ رہا ہے کہ ٹوکن کی میعاد ختم ہو گئی ہے؟

exp claim میں میعاد ختم ہونے کا وقت 1 جنوری 1970 (UTC) سے سیکنڈز میں لکھا ہوتا ہے۔ ٹول اسے ٹوکن پیسٹ کرنے کے لمحے آپ کے ڈیوائس کی گھڑی سے ملاتا ہے۔ اگر آپ کی گھڑی غلط ہے تو اسٹیٹس بھی غلط ہوگا، اس لیے نتیجہ حیران کن لگے تو میعاد ختم (exp) کے ساتھ لکھی اصل تاریخ دیکھ لیں۔

alg none والی وارننگ کا کیا مطلب ہے؟

اگر header میں alg کی ویلیو none ہو تو ٹوکن کا کوئی signature ہے ہی نہیں، یعنی اس کا مواد کسی نے بھی لکھا ہو سکتا ہے۔ کچھ پرانی لائبریریاں غلطی سے ایسے ٹوکن قبول کر لیتی تھیں، جس سے حملہ آور جعلی لاگ اِن بنا لیتے تھے۔ آپ کے سرور کو انہیں ہمیشہ رد کرنا چاہیے، اور ٹول جب بھی ایسا ٹوکن دیکھتا ہے وارننگ دیتا ہے۔

میرا پانچ حصوں والا ٹوکن کیوں نہیں پڑھا جا رہا؟

نقطوں سے الگ پانچ حصوں والا ٹوکن encrypted JWT ہوتا ہے، جسے JWE کہتے ہیں۔ اس کا payload ciphertext ہوتا ہے، جو صرف اس decryption key سے پڑھا جا سکتا ہے جو اصل وصول کنندہ کے پاس ہے۔ یہ ٹول signed ٹوکنز (JWS) پڑھتا ہے، جن کے تین حصے ہوتے ہیں۔

آپ کو مطلوبہ ٹول نہیں ملا، یا کچھ کام نہیں کر رہا؟

ہمیں بتائیں کہ آپ کو اگلا کون سا ٹول چاہیے یا کیا خرابی ہوئی۔ ہم ہر پیغام پڑھتے ہیں، اور درخواستوں سے ہی طے ہوتا ہے کہ ہم آگے کیا بنائیں۔

آپ کی ای میل ایپ کھلے گی۔ براہِ کرم نجی فائلیں منسلک نہ کریں۔