Skip to content

تصدیق: API کیز، OAuth اور JWT

Authentication: API keys, OAuth, and JWT

40 منٹ

تین طریقے

  1. سب سے سادہ طریقہ API key ہے۔ سرور آپ کو ایک لمبا بے ترتیب سٹرنگ دیتا ہے، آپ ہر درخواست میں وہ ڈالتے ہیں، سرور چیک کرتا ہے۔ مل گیا تو درخواست آپ کی ہے۔ API key گھر کی ایک چابی کی طرح ہے۔ جس کے ہاتھ ہو وہ اندر آ جاتا ہے۔ گم ہو جائے تو چور بھی۔ پاکستان کے زیادہ تر سرکاری اور کارپوریٹ APIs اب بھی API keys پر چلتے ہیں: NADRA کا verification API، FBR کے ڈیٹا ایکسچینج endpoints، اسٹیٹ بینک کے PRISM گیٹ ویز۔ کی ایک Authorization نامی header میں Bearer لفظ کے ساتھ آتی ہے۔

  2. API keys میں ایک مہلک کمزوری ہے۔ اگر آپ کا آخری صارف انسان ہے، کوئی دوسرا سرور نہیں، تو آپ key اس کے سامنے نہیں رکھ سکتے۔ براؤزر اسے ہر ٹاک جھانک کے سامنے کر دے گا۔ اسی لیے صنعت نے OAuth ایجاد کیا۔ OAuth تین فریقوں کا رقص ہے: صارف، ایپ، اور وہ نظام جس کے پاس صارف کا ڈیٹا ہے۔ صارف ایپ کو اجازت دیتا ہے، نظام ایپ کو ایک عارضی ٹوکن دیتا ہے، ایپ اسی ٹوکن سے صارف کی طرف سے کام کرتی ہے۔ جب آپ کسی ایپ میں 'Sign in with Google' یا 'Connect to Easypaisa' دباتے ہیں، آپ OAuth کے رقص میں ہیں۔ صارف کبھی پاس ورڈ نہیں دیتا۔ تیسرا فریق کبھی پاس ورڈ نہیں دیکھتا۔ صرف عارضی ٹوکن گزرتا ہے، اور صارف اسے کبھی بھی منسوخ کر سکتا ہے۔

  3. اسٹیٹ بینک کا اوپن بینکنگ مسودہ، جس پر پاکستان کی آنے والی فن ٹیک صنعت کھڑی ہوگی، OAuth 2.0 لازم کرتا ہے۔ ماڈل بالکل وہی ہے جو 'Sign in with Google' کے پیچھے ہے۔ ایک نئی فن ٹیک آپ کا HBL بیلنس پڑھ کر بجٹ کا نقشہ دکھانا چاہتی ہے۔ آپ HBL کو صرف پڑھنے کی اجازت دیتے ہیں۔ HBL فن ٹیک کو تیس دن کا ٹوکن دیتا ہے، صرف بیلنس اور حالیہ لین دین تک محدود۔ اگر فن ٹیک غلط کرے، تو آپ ٹوکن HBL کے پورٹل سے منسوخ کرتے ہیں، خود فن ٹیک سے نہیں۔ یوں ایک ریگولیٹر کھلا اور محفوظ، دونوں قسم کا نظام بناتا ہے۔

فوری چیک

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

کیوں؟

کیوں کا پہلا درجہ: اتنے زیادہ طریقے کیوں؟ کیونکہ خطرے کا ماڈل مختلف ہوتا ہے۔ پرائیویٹ نیٹ ورک کے اندر سرور سے سرور کے لیے API keys کافی ہیں۔ جیسے ہی انسانی صارف منظر میں آئے، OAuth چاہیے۔ اگر آپ ہر بار جاری کرنے والے کو فون کیے بغیر شناخت کی تصدیق کرنا چاہیں، تو JWT چاہیے۔

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

Claude یا ChatGPT کے ساتھ آزمانے کے لیے پرامپٹ: 'میں ایک درمیانے سائز کے پاکستانی بینک کا IT سربراہ ہوں۔ OAuth 2.0 کا authorisation code flow ایک بورڈ ممبر کو سمجھانے کے انداز میں بتائیں۔ مثال یہ ہو کہ ایک فن ٹیک ایپ صارف کی لین دین تاریخ صرف پڑھنے کے لیے چاہتی ہے۔ ہر فریق کو کیا نظر آتا ہے، کیا تار پر گزرتا ہے، اور پاس ورڈ کہاں رہتا ہے؟ متعلقہ RFC کا حوالہ دیں۔' RFC 6749 سے موازنہ کریں۔

ماخذ

ماخذ اور مزید مطالعہ۔ IETF RFC 6749، 'The OAuth 2.0 Authorization Framework'۔ IETF RFC 7519، 'JSON Web Token'۔ Auth0 docs، 'Authentication and Authorization'۔ OWASP API Security Top 10۔ اسٹیٹ بینک پاکستان کا اوپن بینکنگ فریم ورک مسودہ۔ jwt.io۔