اپنی ایپ میں Two-Factor Authentication کیسے شامل کریں
اپنی ایپ میں two-factor authentication (2FA) شامل کرنے کے لیے صارفین کو QR کوڈ اسکین کر کے ایک authenticator ایپ جوڑنے دیں، پاس ورڈ کے بعد وہ چھ ہندسوں کا کوڈ مانگیں جو وہ دکھاتی ہے، اور سرور پر مکمل سیشن اسی وقت بنائیں جب وہ کوڈ درست ثابت ہو۔ ہر صارف کو آن کرتے وقت ایک بار استعمال ہونے والے ریکوری کوڈز دیں، کسی کے اندازے سے کوڈ جانچنے کی تعداد محدود کریں، اور 2FA بند کرنے سے پہلے پاس ورڈ کے ساتھ موجودہ کوڈ لازمی کریں۔ اگر آپ ہوسٹڈ auth فراہم کنندہ استعمال کرتے ہیں تو اپنا 2FA بنانے کے بجائے اس کا بلٹ اِن multi-factor آپشن آن کریں۔
یہ گائیڈ انتخاب، درست طریقہ کار، AI بلڈر کو دینے کے پرامپٹس، اور وہ غلطیاں بیان کرتی ہے جن سے 2FA موجود تو نظر آتا ہے مگر کچھ کرتا نہیں۔ اگر یہ تصور نیا ہے تو two-factor authentication کیا ہے سے شروع کریں۔
شروع کرنے سے پہلے: آپ کو ایک کام کرنے والا لاگ ان چاہیے
2FA کسی موجودہ سائن ان کے اوپر کام کرتا ہے۔ آپ کو پہلے ان میں سے ایک چاہیے:
- آپ کا اپنا لاگ ان، جس میں صارفین اور ہیش شدہ پاس ورڈز آپ کی ایپ کے ڈیٹا بیس میں ہوں۔
- ایک ہوسٹڈ auth فراہم کنندہ جو صارفین آپ کے لیے سنبھالے۔
اگر ابھی دونوں میں سے کچھ نہیں تو اپنی ایپ میں لاگ ان کیسے شامل کریں سے شروع کریں۔ باقی گائیڈ فرض کرتی ہے کہ پاس ورڈ کا مرحلہ پہلے سے کام کرتا ہے۔
اپنا دوسرا عنصر چنیں
| طریقہ | صارف کی محنت | سیکیورٹی | چلانے کی لاگت | بطور ڈیفالٹ اچھا؟ |
|---|---|---|---|---|
| Authenticator ایپ (TOTP) | ایک بار QR کوڈ اسکین کریں، لاگ ان پر کوڈ لکھیں | اچھی؛ اگر کوئی جعلی سائٹ کوڈ مانگے تو فشنگ ممکن ہے | مفت | ہاں، زیادہ تر ایپس کے لیے |
| Passkey یا security key | ٹیپ کریں یا فنگرپرنٹ استعمال کریں | سب سے مضبوط؛ فشنگ کے خلاف مزاحم | مفت | ہاں، اگر آپ کے صارف اسے استعمال کرنے کے لیے تیار ہوں |
| ای میل کوڈ | لاگ ان پر ان باکس چیک کریں | صرف ای میل اکاؤنٹ جتنی مضبوط | ای میل بھیجنے کی لاگت | صرف بیک اپ کے طور پر |
| SMS کوڈ | پیغام کا انتظار کریں | سب سے کمزور؛ SIM swapping اور فشنگ | فی پیغام فیس | صرف تب جب صارف ایپ استعمال نہ کر سکیں |
TOTP کا مطلب ہے time-based one-time password، یہ معیار (RFC 6238) ہے جو authenticator ایپس استعمال کرتی ہیں۔ آپ کا سرور اور صارف کا فون ایک راز شیئر کرتے ہیں؛ ہر ایک اسی راز اور موجودہ وقت سے ایک جیسا مختصر کوڈ بناتا ہے، جو عموماً ہر 30 سیکنڈ میں بدلتا ہے۔ اس کے لیے نیٹ ورک کنکشن یا SMS فراہم کنندہ کی ضرورت نہیں۔
Passkeys پاس ورڈز کی جگہ یا ان کے ساتھ صارف کے ڈیوائس پر محفوظ ایک کرپٹوگرافک key استعمال کرتے ہیں۔ یہ زیادہ مضبوط ہیں لیکن خود بنانا زیادہ محنت طلب ہے، اس لیے بہت سی ایپس TOTP سے شروع کرتی ہیں اور passkeys بعد میں شامل کرتی ہیں، یا وہ کسی auth فراہم کنندہ سے لیتی ہیں۔
خود بنائیں یا آن کریں؟
| طریقہ | فائدے | نقصانات |
|---|---|---|
| ہوسٹڈ auth فراہم کنندہ کا MFA | کم کوڈ؛ سیکیورٹی کی تفصیلات فراہم کنندہ سنبھالتا ہے | پیمانے پر ماہانہ لاگت؛ آپ کے آپشنز اس فراہم کنندہ پر منحصر ہیں |
| لائبریری کے ساتھ اپنا TOTP | مکمل کنٹرول؛ فی صارف فیس نہیں | کنارے کے کیسز آپ کی ذمہ داری ہیں: لاک آؤٹ، ریکوری، راز کی حفاظت |
فراہم کنندہ کی موجودہ دستاویزات دیکھیں کہ وہ کون سے عناصر سپورٹ کرتا ہے اور کس پلان پر۔ دونوں صورتوں میں، کوڈ بنانے والا حساب خود کبھی نہ لکھیں؛ کسی وسیع پیمانے پر استعمال ہونے والی لائبریری کا استعمال کریں۔
پہلے پالیسی طے کریں
پرامپٹ دینے سے پہلے یہ جواب دیں، کیونکہ یہ ڈیزائن کو بدل دیتے ہیں:
- اسے کس کے لیے لازمی ہونا چاہیے؟ سب کے لیے اختیاری، ایڈمنز اور اسٹاف کے لیے لازمی، یا سب کے لیے لازمی۔ جس کے پاس ایڈمن اختیار ہو اس کے لیے لازمی کرنا عام ہے۔ دیکھیں کردار پر مبنی رسائی کنٹرول۔
- صارفین کتنی بار کوڈ دوبارہ درج کرتے ہیں؟ ہر لاگ ان پر، یا ہر ڈیوائس پر 30 دن کے لیے ایک بار ("اس ڈیوائس کو یاد رکھیں")۔
- کن کارروائیوں کے لیے تازہ تصدیق درکار ہے؟ ای میل بدلنا، ادائیگی کی تفصیلات، یا 2FA بند کرنا اچھے امیدوار ہیں۔ اسے step-up authentication کہتے ہیں۔
- فون گم ہونے پر کیا عمل ہے؟ ریکوری کوڈز، اور ایک دستی متبادل جو آپ چلانے کو تیار ہوں۔
مرحلہ وار طریقہ: اپنے لاگ ان پر TOTP 2FA
1. صحیح فیلڈز محفوظ کریں
ہر صارف کو درکار ہے: کیا 2FA فعال ہے، TOTP راز (ذخیرہ کے وقت انکرپٹڈ، سادہ متن میں نہیں)، فعال کرنے کا وقت، اور ریکوری کوڈز کی فہرست جو ہیش شدہ محفوظ ہو، پاس ورڈز کی طرح۔ ناکام کوششوں کی گنتی کے لیے بھی ایک جگہ رکھیں۔
2. اندراج
- صارف Settings کھول کر Turn on two-factor authentication پر کلک کرتا ہے۔
- سرور ایک نیا راز بناتا ہے اور اسے QR کوڈ کے طور پر واپس کرتا ہے، ساتھ ہی ان لوگوں کے لیے متنی شکل جو اسکین نہیں کر سکتے۔
- صارف اسے ایک authenticator ایپ میں اسکین کرتا ہے اور موجودہ کوڈ لکھتا ہے۔
- سرور کوڈ جانچتا ہے۔ صرف درست ہونے پر وہ راز محفوظ کرتا ہے اور 2FA کو فعال نشان زد کرتا ہے۔
- ایپ 8 سے 10 ریکوری کوڈز ایک بار دکھاتی ہے اور صارف سے انہیں محفوظ کرنے کو کہتی ہے۔
مرحلہ 4 اہم ہے: کوڈ کی تصدیق سے پہلے 2FA آن کرنے سے وہ شخص لاک آؤٹ ہو جاتا ہے جس کا اسکین ناکام ہوا تھا۔
3. دوسرے مرحلے کے ساتھ لاگ ان
- صارف ای میل اور پاس ورڈ جمع کرتا ہے۔ سرور انہیں جانچتا ہے۔
- اگر 2FA فعال ہے تو سرور مکمل سیشن نہیں بناتا۔ اس کے بجائے وہ ایک مختصر مدت کی "دوسرا عنصر زیر التواء" حالت بناتا ہے۔
- ایپ کوڈ کی اسکرین دکھاتی ہے۔ سرور کوڈ جانچتا ہے، گھڑی کے فرق کے لیے ایک چھوٹی سی کھڑکی کے ساتھ۔
- اب جا کر سرور اصل سیشن جاری کرتا ہے۔
ہر محفوظ راستے اور API endpoint کو زیر التواء حالت کو مسترد کرنا ہوگا۔ ایسی 2FA اسکرین جو صرف براؤزر میں صفحات چھپائے، اسے براہ راست API کال کر کے چھوڑا جا سکتا ہے۔
4. حدیں اور الرٹس
چھ ہندسوں کے کوڈ کے دس لاکھ امکانات ہیں، جو حد کے بغیر اندازے سے نکالے جا سکتے ہیں۔ کوششیں محدود کریں، بار بار ناکامی کے بعد دوسرے مرحلے کو کچھ وقت کے لیے لاک کریں، اور جب ایسا ہو تو صارف کو ای میل کریں۔ دیکھیں ریٹ لمیٹنگ اور اپنی ایپ سے ای میلز بھیجنا۔
5. ریکوری اور بند کرنا
- ریکوری کوڈ ایک بار کام کرتا ہے، پھر حذف ہو جاتا ہے۔
- 2FA بند کرنے کے لیے پاس ورڈ اور موجودہ کوڈ یا ریکوری کوڈ درکار ہے۔
- ریکوری کوڈز دوبارہ بنانے سے پرانا سیٹ کالعدم ہو جاتا ہے۔
- جب بھی 2FA آن یا آف ہو، صارف کو ای میل کریں۔
اپنے AI بلڈر کو دینے کے پرامپٹس
بنیادی بہاؤ سے شروع کریں:
ہمارے موجودہ ای میل اور پاس ورڈ لاگ ان میں authenticator ایپس (TOTP) کے ذریعے اختیاری two-factor authentication شامل کریں۔ کوئی معروف TOTP لائبریری استعمال کریں، الگورتھم خود نہ لکھیں۔ Settings میں QR کوڈ اور متنی راز دکھائیں، اور 2FA تب ہی فعال کریں جب صارف درست کوڈ درج کرے۔ راز کو انکرپٹ کر کے محفوظ کریں اور سیٹ اپ کے بعد دوبارہ کبھی نہ دکھائیں۔ 10 ایک بار استعمال ہونے والے ریکوری کوڈز ایک بار دکھائیں اور انہیں ہیش کر کے محفوظ کریں۔
پھر نفاذ، جہاں تیار کردہ کوڈ اکثر کمی چھوڑتا ہے:
سرور پر 2FA نافذ کریں۔ درست پاس ورڈ کے بعد، جن صارفین کا 2FA فعال ہے انہیں مکمل سیشن کے بجائے ایک مختصر مدت کی زیر التواء حالت ملے۔ ہر محفوظ صفحہ اور API راستہ زیر التواء حالت کو مسترد کرے۔ کوڈ کی کوششیں 5 تک محدود کریں، پھر دوسرے مرحلے کو 15 منٹ کے لیے لاک کریں اور صارف کو ای میل کریں۔
پھر پالیسی:
ایڈمن اکاؤنٹس کے لیے 2FA لازمی کریں: جس ایڈمن کے پاس 2FA نہ ہو اسے سیٹ اپ پر بھیجیں اور وہ اس کے مکمل ہونے تک ڈیش بورڈ تک نہ پہنچ سکے۔ 2FA بند کرنے یا اکاؤنٹ ای میل بدلنے کے لیے پاس ورڈ اور موجودہ کوڈ لازمی کریں۔ 2FA فعال یا غیر فعال ہونے پر صارف کو ای میل کریں۔
آخر میں ایجنٹ سے وضاحت مانگیں:
ہر راستے کی فہرست بنائیں جو مکمل ہوئے دوسرے عنصر کی جانچ کرتا ہو، اور بتائیں کہ TOTP راز اور ریکوری کوڈز کہاں محفوظ ہیں اور ان کی حفاظت کیسے ہوتی ہے۔
عام غلطیاں
- پاس ورڈ کے بعد سیشن جاری کرنا۔ سب سے سنگین بگ۔ اگر کوڈ جانچنے سے پہلے مکمل سیشن موجود ہو تو 2FA محض دکھاوا ہے۔ جانچیں کہ صرف پاس ورڈ کے مرحلے کے بعد کوئی محفوظ API کال ہو سکتی ہے یا نہیں۔
- کوششوں کی کوئی حد نہ ہونا۔ لامحدود اندازے کوڈ کو brute force کے قابل بنا دیتے ہیں۔
- سادہ متن میں راز یا ریکوری کوڈز۔ ڈیٹا بیس کے لیک ہونے سے ہر ایک کا دوسرا عنصر ہاتھ لگ جاتا ہے۔
- جانچنے سے پہلے فعال کرنا۔ جن صارفین کا اسکین غلط ہوا وہ اگلے لاگ ان پر لاک ہو جاتے ہیں۔
- ریکوری کا راستہ نہ ہونا۔ ہر گم شدہ فون ایک سپورٹ ٹکٹ یا کھوئے ہوئے گاہک میں بدل جاتا ہے۔
- آسان بندش۔ اگر چوری شدہ سیشن کوڈ کے بغیر 2FA بند کر سکے تو تحفظ ختم ہو جاتا ہے۔
- لاگز میں کوڈز۔ یقینی بنائیں کہ کوڈز اور راز سرور لاگز یا ایرر پیغامات میں کبھی ظاہر نہ ہوں۔
- صرف لاگ ان صفحے پر جانچنا۔ پاس ورڈ ری سیٹ، "میجک لنک" سائن ان اور کوئی بھی سوشل لاگ ان بھی 2FA کا احترام کریں، ورنہ یہ اسے بائی پاس کرنے کا راستہ بن جاتے ہیں۔
جانچ کی چیک لسٹ
- اندراج صرف درست کوڈ کے بعد مکمل ہوتا ہے
- درست پاس ورڈ لیکن کوڈ کے بغیر لاگ ان کسی محفوظ صفحے یا API تک رسائی نہیں دیتا
- غلط کوڈ مسترد ہوتا ہے؛ بار بار غلط کوڈز لاک آؤٹ اور ای میل کو متحرک کرتے ہیں
- چند منٹ پرانا کوڈ مسترد ہوتا ہے
- ہر ریکوری کوڈ بالکل ایک بار کام کرتا ہے
- 2FA بند کرنے کے لیے پاس ورڈ اور موجودہ کوڈ درکار ہے
- پاس ورڈ ری سیٹ 2FA کو بائی پاس نہیں کرتا
- 2FA کے بغیر ایڈمنز ایڈمن صفحات تک نہیں پہنچ سکتے (اگر لازمی ہو)
- راز اور ریکوری کوڈز ڈیٹا بیس میں انکرپٹ یا ہیش ہیں
- لاگز میں کوئی کوڈ یا راز ظاہر نہیں ہوتا
لانچ سے پہلے AI سے بنی ایپس کے لیے سیکیورٹی چیک لسٹ بھی مکمل کریں۔
Mythex میں 2FA شامل کرنا
Mythex آپ کی ایپ کے آخری صارفین کے لیے بلٹ اِن لاگ ان سسٹم شامل نہیں کرتا، اس لیے 2FA اس auth طریقے کا حصہ ہے جو آپ چنیں: پروجیکٹ کے ڈیٹا بیس کے ساتھ اپنا ای میل اور پاس ورڈ لاگ ان، یا MFA سپورٹ والا ہوسٹڈ فراہم کنندہ۔ آپ چیٹ میں اوپر جیسے پرامپٹس سے بتاتے ہیں کہ کیا چاہیے، اور کسی بھی فراہم کنندہ کی keys پیغام کے باکس میں نہیں بلکہ پروجیکٹ secrets میں جاتی ہیں (/secrets کے ذریعے، پروجیکٹ سیٹنگز کے ذریعے، یا وہ secrets کارڈ جو ایجنٹ دکھاتا ہے)۔ docs کی ریسیپی اپنی ایپ میں لاگ ان شامل کریں میں ابتدائی پرامپٹ ہے، اور آپ کی بنائی ہوئی ایپس کے لیے سیکیورٹی keys اور اجازتوں کی عادات بیان کرتی ہے۔ ایجنٹ کے مکمل ہونے کے بعد پبلش کرنے سے پہلے Preview میں چیک لسٹ کی ہر چیز جانچیں۔
سوالات
ایپ میں two-factor authentication شامل کرنے کا سب سے آسان طریقہ کیا ہے؟
اگر آپ ہوسٹڈ auth فراہم کنندہ استعمال کرتے ہیں تو اس کا بلٹ اِن multi-factor آپشن آن کریں؛ عموماً سب سے کم کوڈ لکھنا پڑتا ہے۔ اگر آپ اپنا لاگ ان چلاتے ہیں تو کسی معروف لائبریری کے ساتھ authenticator ایپ کے کوڈز (TOTP) شامل کریں، ساتھ ریکوری کوڈز اور سرور پر جانچ۔
کیا مجھے 2FA کے لیے SMS کوڈز استعمال کرنے چاہئیں؟
SMS بغیر کسی دوسرے عنصر کے بہتر ہے، لیکن یہ عام آپشنز میں سب سے کمزور ہے کیونکہ SIM swapping سے پیغامات کا رخ موڑا جا سکتا ہے اور کوڈز فشنگ سے حاصل کیے جا سکتے ہیں۔ authenticator ایپ کو ڈیفالٹ کے طور پر پیش کریں، اور اگر آپ کے صارف تیار ہوں تو passkeys بھی۔
کیا 2FA شامل کرنے کے لیے ڈیٹا بیس کی ضرورت ہے؟
اگر آپ اپنا لاگ ان چلاتے ہیں تو جی ہاں۔ ہر صارف کا 2FA راز، اس کا آن یا آف ہونا، اور اس کے ہیش شدہ ریکوری کوڈز کہیں ایسی جگہ محفوظ ہونے چاہئیں جہاں آپ کا سرور انہیں جانچ سکے۔ ہوسٹڈ auth فراہم کنندہ یہ آپ کے لیے محفوظ کرتا ہے۔
اگر صارف کا فون گم ہو جائے تو کیا ہوگا؟
وہ ان ایک بار استعمال ہونے والے ریکوری کوڈز میں سے کوئی ایک استعمال کر کے لاگ ان کرتا ہے، جو 2FA آن کرتے وقت دکھائے گئے تھے، پھر نئے ڈیوائس پر 2FA دوبارہ ترتیب دیتا ہے۔ ریکوری کوڈز کے بغیر آپ کو دستی شناختی جانچ درکار ہوگی، اس لیے لانچ سے پہلے یہ عمل طے کر لیں۔