HandyCafe Docs
owner it-admin

OAuth لاگ ان

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

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

فراہم کنندہ اینڈ پوائنٹ
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

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

توثیق کا طریقہ کار

ڈیوائس اتھورائزیشن کا طریقہ کار درج ذیل مراحل سے گزرتا ہے:

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

سیکیورٹی کے تحفظات

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

ترتیب

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