تدفق تسجيل الدخول (Flask -> Discourse -> Flask) مع OAuth

مرحبًا بكم!

لدي سؤالان مرتبطان، وآمل أن يتمكن أحدكم من المساعدة :slight_smile:

لقد قمت بإعداد مثيل Discourse الخاص بي لدعم OAuth عبر Twitter وFacebook وGoogle. ما أطمح إليه هو التالي:

السيناريو 1:

  1. يصل المستخدم إلى /home (تطبيق Python/Flask)
  2. يرغب في إنشاء حساب على Discourse.
  3. يتم إعادة توجيهه إلى تدفق OAuth المناسب، مثل https://discourse.example.com/auth/google.
  4. هل يمكنني إعادة توجيهه إلى /home بمجرد إكماله عملية التسجيل؟

السيناريو 2:

  1. يصل المستخدم إلى /home (تطبيق Python/Flask)
  2. لديه بالفعل حساب على Discourse.
  3. يرغب في تسجيل الدخول في التطبيق الرئيسي باستخدام OAuth للوصول إلى صفحة محمية.
  4. يتم إعادة توجيهه إلى تدفق OAuth المناسب.
  5. هل يمكنني إعادة توجيهه إلى /user بمجرد أن يتحقق Discourse من بيانات اعتماد حسابه؟

يرجى إخباري إذا كان أي شيء غير واضح وسأكون سعيدًا بالتوضيح!

شكرًا لكم!

فقط في حال لم تكن قد رأيتها بعد، فإن وثائقنا متاحة على Discourse OAuth2 Basic. هل تحتوي على بعض الإجابات التي تبحث عنها؟

شكرًا على الرد @rishabh!

للأسف، насколько يمكنني الحكم، فإن التوثيق لا يغطي أسئلتي. فإعدادات OAuth الخاصة بي تعمل كما هو متوقع، والمشكلة تكمن فقط في الوظائف الإضافية الموضحة في السيناريوهين 1 و 2.

ما أبحث عنه هو شيء يشبه معلمة اختيارية، مثل callback_url، تقوم بإعادة توجيه المستخدم إلى عنوان URL المستهدف بعد أن يتحقق مزود OAuth من حسابه ويعيده إلى Discourse.

أعتقد أن الأمر أشبه بأن تعمل نسخة Discourse الخاصة بي كمزود OAuth بحد ذاتها لتطبيق Flask/Python الخاص بي؟

على سبيل المثال: https://discourse.example.com/auth/google?callback_url=https://example.com/home تأخذ المستخدم إلى Google، ثم تعيده إلى Discourse، الذي بدوره يعيد توجيهه إلى callback_url.