JWT کیسے ڈیکوڈ کریں
- اپنا ٹوکن پیسٹ کریں JSON Web Token والے خانے میں، یا مثال آزمائیں دبا کر ایک بے ضرر نمونہ ٹوکن لوڈ کریں۔
- رنگ دیکھیں۔ خانے کے نیچے ٹوکن header، payload اور signature میں بٹا ہوا نظر آتا ہے، ہر حصہ اپنے رنگ میں، تاکہ پتا چلے کون سا حصہ کہاں سے شروع ہوتا ہے۔
- Header اور Payload پڑھیں فارمیٹ شدہ JSON کی صورت میں۔ کسی بھی بلاک کے ساتھ لگا کاپی بٹن اس کا JSON کاپی کر دیتا ہے۔
- وقت والے 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 بھی پڑھا جا سکتا ہے۔