أنا أقوم بإنشاء بوابة مجتمع سأستخدم فيها OAuth2 لربط المزوّد مع Discourse. أريد السماح بتسجيل الدخول عبر البريد الإلكتروني فقط إذا كان البريد مدعوًا للمجتمع (أي لا يجب أن يكون هناك زر تسجيل)، ولكن أريد السماح بجميع تسجيلات الدخول عبر OAuth2.
لا أستطيع حل هذه المشكلة باستخدام إعدادات OAuth2 / تسجيل الدخول. هل هذا ممكن؟ في جوهر الأمر، أريد تجاوز إعدادات التسجيل الخاصة بـ OAuth2.
كانت الخطوة التالية إلغاء تحديد خيار “تمكين التسجيلات الجديدة”:
لا أستطيع نشر الصورة (أنا مستخدم جديد هنا)، لكنها تقول: “التسجيلات الجديدة للحسابات غير مسموح بها في الوقت الحالي.”
لست متأكدًا من الخيارات الأخرى المتاحة التي قد تحل المشكلة. جربت مجموعة واسعة من التوليفات (لا يمكنني سرد كل شيء هنا)، ولم أجد حتى الآن نتيجة تعمل.
أعتقد أن نيتي لم تُفهم بشكل صحيح. لدي تدفق تسجيل الدخول عبر OAuth2 يعمل بشكل طبيعي، لكنني أريد إبقاؤه مفعلًا مع تعطيل التسجيلات الجديدة. يبدو أن إعدادات OAuth2 وتسجيل البريد الإلكتروني مرتبطة ببعضهما، لذا لا يمكنني “فقط تفعيل” OAuth2 مع ترك تسجيل البريد الإلكتروني معطلًا.
ما الذي تريد أن يحدث إذا حاول شخص لم يُدعَ تسجيل الدخول؟
أوه! هل تقصد أن هذا ما يراه الشخص إذا حاول الرد على رابط الدعوة؟
تريد قبول الأشخاص المدعوين فقط. وتريد إلزام هؤلاء الأشخاص بتسجيل الدخول عبر Clove. أليس كذلك؟ يبدو أن هذا ما حدث في مثالك.
أعتقد أن تفعيل خيار “دعوة فقط” مع تعطيل جميع أنواع تسجيل الدخول ما عدا Clove سيفعل ما تبحث عنه. سيرى الأشخاص الذين لا يملكون حسابات في Discourse نافذة حوار “دعوة فقط” التي تعرضها. أما الأشخاص الذين تم دعوتهم فيجب أن يتمكنوا من تسجيل الدخول عبر OAuth الخاص بـ Clove.
أقوم بإعداد مجتمع شبه خاص يحتوي على ثلاثة أنواع من المستخدمين: أعضاء الطاقم (تسجيل الدخول عبر البريد الإلكتروني)، ومستخدمو التطبيقات (تسجيل الدخول الموحد عبر OAuth2)، وضيوف خاصون (بريد إلكتروني، وليسوا مستخدمين للتطبيق). أريد اشتراط وجود دعوات للضيوف الخاصين (السماح لهم بتسجيل الدخول عبر البريد الإلكتروني)، ولكنني أريد معاملة مستخدمي OAuth2 كـ “موثوقين” ولا يحتاجون إلى دعوة. والسبب في ذلك هو أن امتلاك الحساب اللازم لإتمام عملية OAuth2 بنجاح يعني أنك موثوق.
يمكنني إعداد تسجيل الدخول القائم على البريد الإلكتروني مع الدعوات بشكل صحيح، لكن ذلك يعطل تسجيل الدخول عبر OAuth2 لأنها تتطلب أيضًا دعوة. لا أريد أن يحتاجوا إلى دعوة أو يروها—لديهم الثقة بحكم امتلاكهم حساب SSO.
أعتقد، لكنني لست متأكدًا، أن external auth skip create confirm قد يكون ما تبحث عنه. يذكر الوصف SSO فقط، لكنني أعتقد أنها تعمل الآن مع OAuth أيضًا. ساعدت شخصًا آخر في إعداد موقع يتخطى نافذة إنشاء المستخدم لتكوين OAuth2 الخاص به، وأعتقد أن هذه كانت الحيلة.
شكرًا لك @pfaffman، يبدو أن هذا هو ما قبلته. لا أعتقد أن ذلك ممكن في حالة Discourse المستضافة، أليس كذلك؟ إذا لم يكن كذلك، فقد أحتاج إلى إيجاد حل آخر لذلك.