یہ ٹول کیسے کام کرتا ہے
JSON Web Token نقطوں سے جدا تین حصے ہیں: ایک سرخی جو الگورتھم کا نام بتاتی ہے، دعووں کا ایک پے لوڈ، اور ایک دستخط۔ پہلے دو base64url ہیں — ایک ایسی قسم جہاں ڈیش اور انڈر اسکور جمع اور سلیش کی جگہ آتے ہیں اور بھرائی ہٹا دی جاتی ہے — اس لیے وہ خفیہ نہیں بلکہ صرف انکوڈ شدہ ہیں۔ جس کے پاس بھی ٹوکن ہو وہ اس کا مواد پڑھ سکتا ہے، اور اس صورت کے بارے میں سمجھنے کی سب سے اہم بات یہی ہے۔
دونوں حصے ڈی کوڈ کر کے ترتیب شدہ JSON کے طور پر دکھائے جاتے ہیں، اور وقت والے دعوے عہد سے گزرے سیکنڈوں کے بجائے پڑھنے کے قابل تاریخوں میں بدل دیے جاتے ہیں، کیونکہ عموماً میعاد ہی وہ چیز ہوتی ہے جس کے لیے کوئی ڈی کوڈر کھولتا ہے۔ دستخط نہ ڈی کوڈ ہوتا ہے نہ جانچا جاتا ہے: اس کی تصدیق کے لیے وہ راز یا عوامی کلید درکار ہے جس سے ٹوکن پر دستخط ہوئے، اور اس کی جگہ آپ کا سرور ہے، کسی ویب صفحے میں چسپاں کرنا نہیں۔
ڈی کوڈ شدہ ٹوکن کیا بتاتا ہے اور کیا نہیں
- ڈی کوڈ کرنا تصدیق کرنا نہیں: درست پڑھا جانے والا پے لوڈ اس بات کا کوئی ثبوت نہیں کہ ٹوکن اصلی ہے۔ جعلی ٹوکن بھی اتنی ہی صفائی سے ڈی کوڈ ہوتا ہے جتنا اصلی، اور صرف دستخط کی جانچ ہی ان میں فرق کرتی ہے۔
- پے لوڈ میں کبھی راز نہ رکھیں: دعوے ہر اس شخص کے لیے پڑھنے کے قابل ہیں جسے ٹوکن مل جائے۔ پے لوڈ میں موجود اندرونی شناخت کنندے، کردار اور ای میل پتے اس کے حامل کے لیے عملاً عام ہیں۔
- وقت والے دعوے سیکنڈ میں ہیں، ملی سیکنڈ میں نہیں: exp، iat اور nbf سب عہد سے گزرے سیکنڈوں میں ہیں، جو JavaScript کے Date کی توقع سے ایک ہزار گنا کے فرق پر ہے اور ان ٹوکنوں کی معمول کی وجہ ہے جو 1970 میں ختم ہوتے دکھتے ہیں۔
- میعاد ختم ہو چکا ٹوکن بھی پڑھا جا سکتا ہے: میعاد اس چیز سے نافذ ہوتی ہے جو ٹوکن کی توثیق کرے، صورت سے نہیں۔ میعاد ختم شدہ ٹوکن پڑھ لینا یہ نہیں بتاتا کہ نظام نے اسے قبول کیا یا نہیں۔