Skip to content

Authentication، sessions اور JWT

Authentication, sessions, and JWT

42 منٹ

تین طریقے

  1. Authentication بتاتی ہے 'آپ کون ہیں؟'۔ Authorization بتاتی ہے 'آپ کو کیا اجازت ہے؟'۔ دونوں چاہیے۔ بہاؤ تین مرحلوں میں: پہلے صارف شناخت ثابت کرتا ہے (پاس ورڈ، OTP، بایومیٹرک، Google یا NADRA Pak-ID سے OAuth)۔ دوسرا، سرور credential جاری کرتا ہے (cookie میں session id یا JWT signed token)۔ تیسرا، ہر بعد کی درخواست credential ساتھ لاتی ہے اور سرور چیک کرتا ہے۔ ان میں سے کسی بھی مرحلے میں غلطی سے ایک خامی بن جاتی ہے۔ 2026 میں OWASP Top 10 میں ٹوٹا ہوا auth اب بھی دوسرا سب سے عام سنگین مسئلہ ہے۔

  2. پہلا طریقہ، پاس ورڈ درست طریقے سے۔ پاس ورڈ کبھی سادہ متن میں نہ رکھیں۔ اسی مقصد کے لیے بنایا گیا hashing الگورتھم استعمال کریں: bcrypt یا argon2id۔ سائن اپ پر: const hash = await argon2.hash(password)۔ لاگ ان پر: const ok = await argon2.verify(stored, attempt)۔ NIST اور SBP کی جدید رہنمائی: کم سے کم 12 حروف، زبردستی تبدیلی نہیں، paste کی اجازت، password manager کا تعاون، فضول پیچیدگی کے قوانین نہیں۔ لاگ ان کی کوششوں پر rate-limit (5 فی منٹ فی IP اور فی اکاؤنٹ)۔ پاس ورڈ ری سیٹ کا لنک ای میل یا SMS پر بھیجیں، پاس ورڈ خود کبھی نہیں۔

  3. دوسرا طریقہ، sessions یا JWT۔ لاگ ان کے بعد صارف کو credential دینا ہوتا ہے۔ دو بڑے طریقے۔ Session cookies: سرور ایک random session id ڈیٹا بیس یا Redis میں رکھتا ہے، صارف کا براؤزر اس id والی cookie رکھتا ہے، ہر درخواست cookie ساتھ بھیجتی ہے، سرور دیکھ لیتا ہے۔ سادہ، قابلِ منسوخی (row حذف کریں، صارف لاگ آؤٹ)، اور کلاسیکی ویب ایپس میں ڈیفالٹ۔ JWT: سرور JSON token پر دستخط کرتا ہے جس میں صارف کی معلومات اور expiry ہوتی ہے، صارف token رکھتا ہے، سرور بنا ڈیٹا بیس دیکھے دستخط جانچ لیتا ہے۔ تیز، بے ریاست، مگر منسوخ کرنا مشکل۔ زیادہ تر پاکستانی فن ٹیک کے لیے cookies میں مختصر مدت کا JWT بہترین ہے: سرور سائڈ منسوخی اور کلائنٹ سائڈ کارکردگی دونوں۔

فوری چیک

فوری چیک: جدید AI روایتی قاعدہ بنیاد پروگرام سے کس طرح مختلف ہے؟

کیوں؟

کیوں کا پہلا درجہ: پاس ورڈ hash کیوں؟ کیونکہ ڈیٹا بیس leak ہوتے ہیں۔ 2021 میں پاکستانی ای کامرس اور تنخواہ پلیٹ فارمز کے leaks یہی دکھاتے ہیں۔ Hashed پاس ورڈ حملہ آور کے لیے بے کار ہوتے ہیں جب تک ارب ہا ڈالر کا compute نہ ہو۔ سادہ متن کے پاس ورڈ سونا ہیں۔ Hashing کی قیمت مائکرو سیکنڈز، چھوڑنے کی قیمت آپ کی کمپنی خبروں کی پٹی پر۔

Claude کے ساتھ آزمائیں

Claude کے ساتھ پرامپٹ: 'مجھے NADRA Pak-ID کے ساتھ OAuth 2.0 sign-in قدم بہ قدم سمجھائیں (فرض کریں endpoints id.nadra.gov.pk/oauth/authorize اور id.nadra.gov.pk/oauth/token پر ہیں)۔ state پیرامیٹر سے CSRF تحفظ، PKCE، محفوظ cookie سیٹ اپ، refresh-token rotation، اور logout بہاؤ شامل کریں۔ Hono + Drizzle میں کوڈ۔ ہر فیصلے کے لیے RFC 6749 کے سیکشن کا حوالہ۔' ہر سطر اعتماد سے پہلے پڑھیں۔

ماخذ

ماخذ اور مزید مطالعہ۔ OWASP Authentication Cheat Sheet۔ NIST SP 800-63B۔ RFC 6749 OAuth 2.0 اور RFC 7519 JWT۔ RFC 7636 PKCE۔ argon2 حوالہ۔ Auth0 اور Lucia کی دستاویزات۔ SBP اوپن بینکنگ کی شناختی ورکنگ گروپ کے مسودے۔ NADRA Pak-ID ڈویلپر بریف۔ PECA 2016 کی credential چوری کی دفعات۔