أود أن أقيّد الوصول إلى صفحات معينة على موقعنا الإلكتروني بناءً على ما إذا كان لدى شخص ما حساب عضو في Discourse الخاص بنا. أفترض أنني سأفعل ذلك عن طريق التحقق في تلك الصفحات مما إذا كان المستخدم قد سجل الدخول في Discourse في ذلك الوقت.
لم أجربه بعد، ولكن قد يكون المعامل prompt مفيدًا لحالتك:
prompt: إذا كان prompt=none، فسيتم التعامل مع طلب SSO على أنه طلب “للتحقق فقط”. إذا كان المتصفح/الجهاز قد قام بتسجيل الدخول بالفعل إلى Discourse، فسيعيد Discourse استجابة SSO ناجحة تحمل معلومات مصادقة المستخدم، كالمعتاد. إذا لم يكن المتصفح/الجهاز قد قام بتسجيل الدخول بالفعل، فلن يطلب Discourse من المستخدم تسجيل الدخول، وسيقوم على الفور بإعادة استجابة SSO تحمل المعامل failed=true بدلاً من معلومات المستخدم. يوفر هذا آلية للاستعلام عما إذا كان المستخدم قد قام بتسجيل الدخول، دون توجيه المستخدم أبدًا إلى مربع حوار تسجيل الدخول إذا لم يكن كذلك.
أتساءل عما إذا كان استخدام Discourse كمزود للمصادقة يتم تجاهله بسبب اسمه (DiscourseConnect). على سبيل المثال، مجرد إضافة مصطلح DiscourseConnect إلى منشور هنا ينشئ رابطًا إلى الموضوع المتعلق باستخدام موقع خارجي كمزود للمصادقة لـ Discourse. استخدام Discourse كمزود للمصادقة هو أحد مبرراتي الرئيسية لوجود موقع Discourse.
@simon أردت فقط أن أكتب إليك وأشكرك. أعتقد أن اقتراحك السابق هو الإجابة الصحيحة. لقد واجهت صعوبة في تنفيذه على موقعي، ولكن يبدو أن المشكلة تكمن في الغالب في أنه نظام إدارة محتوى مخصص جزئيًا وبه الكثير من التعليمات البرمجية الهشة التي تعيق الطريق.