JWT ڈی کوڈر

اپنے براؤزر میں فوری طور پر JWT ہیڈرز اور پے لوڈز کو ڈی کوڈ کریں۔

اپنا JWT پیسٹ کریں
تیار ہے۔ ڈی کوڈ کرنے کے لیے ایک JWT پیسٹ کریں۔

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

عمومی سوالات

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

جی ہاں۔ ڈی کوڈنگ مکمل طور پر آپ کے براؤزر میں ہوتی ہے — آپ کا ٹوکن کبھی بھی BroBroGo کو نہیں بھیجا جاتا۔

کیا یہ دستخط (signature) کی تصدیق کرتا ہے؟

نہیں۔ یہ صرف آپ کے پڑھنے کے لیے ہیڈر اور پے لوڈ کو ڈی کوڈ کرتا ہے۔ دستخط کی تصدیق کے لیے سائننگ سیکرٹ یا پبلک کی کی ضرورت ہوتی ہے، جو یہ ٹول کبھی نہیں مانگتا۔

مجھے کیسے معلوم ہوگا کہ میرے ٹوکن کی میعاد ختم ہو گئی ہے؟

ڈی کوڈر exp کلیم کو پڑھتا ہے اور ڈی کوڈ شدہ ٹوکن کے ساتھ اسٹیٹس بیج دکھاتا ہے — درست، میعاد ختم، ابھی تک درست نہیں، یا کوئی میعاد نہیں۔

JSON Web Token (JWT) کی ساخت اور کام کرنے کا طریقہ

JSON Web Token (JWT) ایک کھلا معیار (RFC 7519) ہے جو دو فریقین کے درمیان معلومات کو محفوظ طریقے سے منتقل کرنے کے لیے استعمال کیا جاتا ہے۔ یہ معلومات ڈیجیٹل طور پر دستخط شدہ ہوتی ہیں، اس لیے ان پر بھروسا کیا جا سکتا ہے۔ ایک عام JWT تین حصوں پر مشتمل ہوتا ہے جو نقطوں (dots) کے ذریعے ایک دوسرے سے الگ ہوتے ہیں:

  1. ہیڈر: اس حصے میں عام طور پر ٹوکن کی قسم اور استعمال ہونے والے دستخطی الگورتھم کی معلومات ہوتی ہیں۔
  2. پے لوڈ: اس حصے میں کلیمز (claims) ہوتے ہیں، جو کہ صارف یا ڈیٹا کے بارے میں بیانات ہوتے ہیں۔
  3. دستخط (Signature): یہ حصہ ہیڈر، پے لوڈ، اور ایک خفیہ کلید (secret key) کو ملا کر بنایا جاتا ہے تاکہ یہ یقینی بنایا جا سکے کہ ٹوکن کے ساتھ راستے میں کوئی چھیڑ چھاڑ نہیں کی گئی۔

ان تینوں حصوں کو Base64URL انکوڈنگ کے ذریعے ایک سٹرنگ کی شکل دی جاتی ہے۔ جب آپ اس ٹول میں کوئی ٹوکن داخل کرتے ہیں، تو یہ ان حصوں کو الگ کر کے انکوڈنگ کو ختم کرتا ہے اور اصل معلومات کو واضح شکل میں دکھاتا ہے۔


ہیڈر اور پے لوڈ کے کلیمز کی تفصیل

ہیڈر کے عام کلیمز

ہیڈر میں موجود معلومات یہ بتاتی ہیں کہ ٹوکن پر کس طرح کارروائی کی جانی چاہیے۔ اس میں عام طور پر درج ذیل کلیمز شامل ہوتے ہیں:

  • alg: دستخط کے لیے استعمال ہونے والا الگورتھم، جیسے کہ HS256 یا RS256۔
  • typ: ٹوکن کی قسم، جو کہ عام طور پر JWT ہوتی ہے۔

پے لوڈ کے عام کلیمز

پے لوڈ میں اصل ڈیٹا ہوتا ہے جسے منتقل کیا جا رہا ہے۔ اس میں موجود کلیمز کو تین اقسام (رجسٹرڈ، پبلک، اور پرائیویٹ) میں تقسیم کیا جاتا ہے۔ کچھ اہم رجسٹرڈ کلیمز درج ذیل ہیں:

  • iat (Issued At): وہ وقت جب ٹوکن جاری کیا گیا تھا۔
  • exp (Expiration Time): وہ وقت جب ٹوکن کی میعاد ختم ہو جاتی ہے۔
  • sub (Subject): ٹوکن کا موضوع (مثلاً صارف کی آئی ڈی)۔

ٹوکن کی میعاد اور وقت کا حساب کتاب

JWT میں وقت کی نمائندگی عام طور پر Unix Epoch ٹائم (سیکنڈز کی تعداد) میں کی جاتی ہے۔

  • جاری ہونے کا وقت (Issued At): iat کلیم یہ بتاتا ہے کہ ٹوکن کس سیکنڈ پر تیار ہوا تھا۔ اس سے یہ جانچنے میں مدد ملتی ہے کہ ٹوکن کتنا پرانا ہے۔
  • میعاد ختم ہونے کا وقت (Expiration Time): exp کلیم یہ طے کرتا ہے کہ ٹوکن کب تک قابل قبول ہے۔ ایک بار جب موجودہ وقت اس کلیم میں درج وقت سے تجاوز کر جاتا ہے، تو ٹوکن کو غیر درست تصور کیا جاتا ہے۔

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


ڈی کوڈنگ اور دستخط کی تصدیق (Verification) میں فرق

ایک عام غلط فہمی یہ ہے کہ JWT کو ڈی کوڈ کرنے کا مطلب اس کی تصدیق کرنا ہے۔ ان دونوں عمل میں واضح فرق ہے:

  • ڈی کوڈنگ (Decoding): یہ صرف Base64URL انکوڈ شدہ سٹرنگ کو واپس پڑھنے کے قابل JSON فارمیٹ میں تبدیل کرنے کا عمل ہے۔ اس کے لیے کسی خفیہ کلید (secret key) یا پبلک کی (public key) کی ضرورت نہیں ہوتی۔ کوئی بھی شخص جس کے پاس ٹوکن موجود ہو، وہ اسے آسانی سے ڈی کوڈ کر کے اس کے اندر کا ڈیٹا دیکھ سکتا ہے۔
  • تصدیق (Verification): اس عمل میں یہ چیک کیا جاتا ہے کہ آیا ٹوکن واقعی کسی معتبر ذریعے سے جاری ہوا ہے اور اس میں کوئی تبدیلی تو نہیں کی گئی۔ اس کے لیے سائننگ سیکرٹ یا پبلک کی کا استعمال کرتے ہوئے دستخط (signature) کی ریاضیاتی تصدیق کی جاتی ہے۔

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


انکوڈنگ اور فارمیٹنگ کے اصول

Base64URL انکوڈنگ

JWT میں عام Base64 کے بجائے Base64URL انکوڈنگ کا استعمال کیا جاتا ہے۔ اس کی وجہ یہ ہے کہ عام Base64 میں پلس (+)، سلیش (/) اور برابر (=) جیسے حروف شامل ہو سکتے ہیں، جو یو آر ایل (URL) کے پیرامیٹرز میں مسائل پیدا کرتے ہیں۔ Base64URL انکوڈنگ میں ان حروف کو بالترتیب مائنس (-)، انڈر اسکور (_) سے بدل دیا جاتا ہے اور پیڈنگ کے نشانات (=) کو ہٹا دیا جاتا ہے تاکہ ٹوکن کو ویب ایڈریسز میں بغیر کسی رکاوٹ کے استعمال کیا جا سکے۔

JSON فارمیٹنگ

ہیڈر اور پے لوڈ دونوں بنیادی طور پر JSON (JavaScript Object Notation) آبجیکٹس ہوتے ہیں۔ ڈی کوڈنگ کے بعد، یہ ٹول ان کو درست JSON فارمیٹ میں ترتیب دیتا ہے تاکہ کلید اور ویلیو کے جوڑوں کو آسانی سے پڑھا جا سکے۔ اگر ان پٹ میں موجود ڈیٹا درست JSON فارمیٹ کے مطابق نہ ہو، تو ٹول خرابی کا پیغام دکھاتا ہے۔


ٹول کے استعمال کے اصول اور ان پٹ کی خرابیاں

جب آپ اس ٹول کو استعمال کرتے ہیں، تو یہ ان پٹ کی حالت کے مطابق مختلف پیغامات اور نتائج دکھاتا ہے:

  • خالی انکوائری: اگر ان پٹ فیلڈ خالی ہو، تو ٹول "تیار ہے۔ ڈی کوڈ کرنے کے لیے ایک JWT پیسٹ کریں۔" کی حالت میں رہتا ہے۔
  • فارمیٹ کی خرابی: اگر ان پٹ میں تین حصے نہیں ہیں جو نقطوں سے الگ ہوں، تو ٹول "یہ درست JWT نہیں ہے — تین ڈاٹ سے الگ حصوں کی توقع تھی۔" کا پیغام دکھاتا ہے اور ڈی کوڈ شدہ حصے چھپ جاتے ہیں۔
  • انکوڈنگ کی خرابی: اگر ہیڈر یا پے لوڈ کی Base64URL انکوڈنگ خراب ہو، تو بالترتیب "ہیڈر کو ڈی کوڈ نہیں کیا جا سکا — غیر درست Base64URL۔" یا "پے لوڈ کو ڈی کوڈ نہیں کیا جا سکا — غیر درست Base64URL۔" کا ایرر ظاہر ہوتا ہے۔
  • JSON کی خرابی: اگر ڈی کوڈ شدہ ڈیٹا درست JSON نہ ہو، تو ٹول "ہیڈر درست JSON نہیں ہے۔" یا "پے لوڈ درست JSON نہیں ہے۔" کی خرابی دکھاتا ہے۔
  • طول و عرض کی حد: اگر ان پٹ بہت زیادہ لمبا ہو، تو ٹول "یہ حقیقی JWT ہونے کے لیے بہت لمبا ہے۔" کا پیغام ظاہر کرتا ہے۔
  • کامیاب ڈی کوڈنگ: درست ٹوکن داخل کرنے پر "ٹوکن ڈی کوڈ ہو گیا۔" کا پیغام ظاہر ہوتا ہے اور ہیڈر، پے لوڈ، الگورتھم، قسم، جاری ہونے کا وقت، میعاد ختم، اور حروف کی تعداد جیسے آؤٹ پٹس نظر آتے ہیں۔
  • فیلڈ صاف کرنا: جب ان پٹ کو صاف کیا جاتا ہے، تو "صاف کر دیا گیا۔" کا پیغام ظاہر ہوتا ہے اور فوکس دوبارہ ان پٹ فیلڈ پر چلا جاتا ہے۔

پرائیویسی اور ڈیٹا پروسیسنگ کی معلومات

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


اکثر پوچھے گئے سوالات (FAQ)

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

جی ہاں۔ ڈی کوڈنگ مکمل طور پر آپ کے براؤزر میں ہوتی ہے — آپ کا ٹوکن کبھی بھی BroBroGo کو نہیں بھیجا جاتا۔

کیا یہ دستخط (signature) کی تصدیق کرتا ہے؟

نہیں۔ یہ صرف آپ کے پڑھنے کے لیے ہیڈر اور پے لوڈ کو ڈی کوڈ کرتا ہے۔ دستخط کی تصدیق کے لیے سائننگ سیکرٹ یا پبلک کی کی ضرورت ہوتی ہے، جو یہ ٹول کبھی نہیں مانگتا۔

مجھے کیسے معلوم ہوگا کہ میرے ٹوکن کی میعاد ختم ہو گئی ہے؟

ڈی کوڈر exp کلیم کو پڑھتا ہے اور ڈی کوڈ شدہ ٹوکن کے ساتھ اسٹیٹس بیج دکھاتا ہے — درست، میعاد ختم، ابھی تک درست نہیں، یا کوئی میعاد نہیں۔

اگر ٹوکن میں exp کلیم نہ ہو تو کیا اسٹیٹس ظاہر ہوگا؟

اگر ٹوکن میں میعاد ختم ہونے کا کلیم (exp) موجود نہ ہو، تو ٹول اسٹیٹس کے خانے میں "کوئی میعاد نہیں" ظاہر کرے گا۔