HandyCafe Docs
owner it-admin

OAuth لاگ ان

HandyCafe صارفین کے لیے Device Authorization Grant (RFC 8628) کا استعمال کرتے ہوئے سوشل/OAuth لاگ ان سپورٹ کرتا ہے۔ یہ فلو کیوسک اور عوامی ماحول کے لیے ڈیزائن کیا گیا ہے جہاں صارفین مشترکہ PC پر محفوظ طریقے سے اسناد درج نہیں کر سکتے۔

معاون فراہم کنندگان

فراہم کنندہ اینڈ پوائنٹ
Google oauth2.googleapis.com
Facebook graph.facebook.com/v21.0
Apple appleid.apple.com
X (Twitter) api.x.com/2/oauth2
Discord discord.com/api/oauth2

ہر فراہم کنندہ سیٹنگز > OAuth میں انفرادی طور پر فعال یا غیر فعال ہو سکتا ہے۔

تصدیق کا فلو

ڈیوائس تصدیق کا فلو درج ذیل مراحل سے گزرتا ہے:

  1. صارف فراہم کنندہ منتخب کرتا ہے -- کلائنٹ آئیڈل اسکرین پر صارف فراہم کنندہ بٹن (مثلاً Google، Discord) ٹیپ کرتا ہے۔
  2. کلائنٹ سرور کو درخواست بھیجتا ہے -- کلائنٹ HandyCafe سرور کو مطلع کرتا ہے کہ OAuth لاگ ان شروع ہوا ہے۔
  3. سرور ڈیوائس کوڈ کی درخواست کرتا ہے -- سرور منتخب فراہم کنندہ کے ڈیوائس تصدیق اینڈ پوائنٹ سے رابطہ کرتا ہے اور ڈیوائس کوڈ، یوزر کوڈ اور تصدیقی URI وصول کرتا ہے۔
  4. کلائنٹ کوڈ دکھاتا ہے -- کلائنٹ صارف کو user_code اور verification_uri دکھاتا ہے، عام طور پر آسان اسکیننگ کے لیے QR کوڈ کے طور پر۔
  5. صارف اپنے فون پر تصدیق کرتا ہے -- صارف اپنے ذاتی ڈیوائس (فون یا ٹیبلیٹ) سے QR کوڈ اسکین کرتا ہے اور فراہم کنندہ کی ویب سائٹ پر تصدیق مکمل کرتا ہے۔
  6. سرور ٹوکن کے لیے پول کرتا ہے -- سرور وقفے وقفے سے فراہم کنندہ سے ٹوکن کے لیے پول کرتا ہے۔
  7. سرور صارف معلومات حاصل کرتا ہے -- کامیابی پر سرور ٹوکن استعمال کرتے ہوئے فراہم کنندہ سے صارف کی پروفائل حاصل کرتا ہے بشمول provider_uid، email، name اور avatar_url۔
  8. ایڈمن منظور یا مسترد کرتا ہے -- لاگ ان درخواست درخواستوں کے صفحے پر ظاہر ہوتی ہے۔ ایڈمن یا کیشئر جائزہ لے کر درخواست منظور یا مسترد کرتا ہے۔
  9. رکن بنایا یا لنک ہوتا ہے -- منظوری پر نیا رکن اکاؤنٹ بنتا ہے یا OAuth شناخت موجودہ رکن سے لنک ہوتی ہے۔
  10. کلائنٹ سیشن شروع ہوتا ہے -- کلائنٹ تصدیق وصول کرتا ہے اور صارف کا سیشن شروع ہوتا ہے۔

سیکیورٹی کے اعتبارات

  • اسناد مشترکہ PC کو نہیں چھوتی۔ صارفین صرف اپنے ذاتی ڈیوائسز پر تصدیق کرتے ہیں۔ کلائنٹ مشین پر کوئی پاس ورڈ یا ٹوکن داخل نہیں ہوتا۔
  • ایڈمن منظوری گیٹ۔ ہر OAuth لاگ ان درخواست سیشن شروع ہونے سے پہلے ایڈمن یا کیشئر سے منظور ہونی چاہیے جو غیر مجاز رسائی روکتا ہے۔
  • ترتیب دینے والا کریڈٹ تقاضا۔ "بغیر کریڈٹ لاگ ان کی اجازت" آپشن فعال یا غیر فعال ہو سکتا ہے جو کنٹرول کرتا ہے صارفین کو OAuth سے لاگ ان کے لیے مثبت بیلنس درکار ہے یا نہیں۔

ترتیب

OAuth فراہم کنندگان سیٹنگز > OAuth میں ترتیب دیے جاتے ہیں۔ ہر فراہم کنندہ کو اپنے کلائنٹ اسناد (Client ID اور Client Secret) درکار ہیں جو فراہم کنندہ کے ڈیولپر کنسول سے حاصل ہوتے ہیں۔ صرف وہ فراہم کنندگان فعال کریں جو آپ اپنے صارفین کو پیش کرنا چاہتے ہیں۔