رسالة ترحيب TL2 مرسلة في كل مرة عند تسجيل الدخول عبر SSO

يحدث ما يلي:

يتم إظهار إشعار الترحيب TL2 (“تمت ترقية مستوى الثقة الخاص بك”) لبعض المستخدمين في كل تسجيل دخول.

يحدث هذا في الحالات التالية:

  • تم تمكين تسجيل الدخول عبر SSO حيث يُعد Discourse عميل SSO.
  • تم تمكين “مزامنة بيانات المستخدم” في WP-Discourse، مما يؤدي إلى استدعاء sync_sso في كل مرة يسجل فيها المستخدم الدخول إلى WordPress.
  • يقوم sync_sso بتعيين مجموعة تحتوي على grant_trust_level أقل من مستوى الثقة الحالي للمستخدم.

هذا يتسبب في إعادة حساب مستويات الثقة للمستخدم من الصفر من جديد، مما يؤدي إلى إرسال رسالة الترحيب في كل مرة.

6 إعجابات

مرحباً،

شكراً لمشاركة هذه المشكلة! لقد حاولت إعادة إنتاج هذه المشكلة محلياً ولكني لم أتمكن من ذلك، إليك إعداداتي:


(Wordpress)

  • إعداد مستخدم Wordpress باسم “Steaky” مع البريد الإلكتروني steaky@cat.com
  • إضافة wpdc_custom_sso_params لتعيين مجموعة “cats” لجميع المستخدمين الذين يسجلون الدخول باستخدام $params['groups'] = 'cats';

(Discourse)

  • إنشاء مستخدم باسم “Steaky” مع البريد الإلكتروني steaky@cat.com
  • جعل Steaky في trust_level_3 بشكل شرعي (غير مقفل)
  • إنشاء مجموعة “cats” وتعيين “مستوى الثقة الممنوح تلقائياً للأعضاء” إلى 2 لـ “cats”

تم توصيل Wordpress و Discourse :ok_hand: وأيضاً :ballot_box_with_check: مزامنة بيانات المستخدم.

(Discourse)

  • تسجيل دخول Steaky، يتم إعادة توجيهه إلى Wordpress وتسجيل الدخول، ثم إعادة توجيهه مرة أخرى إلى Discourse
  • (تأكيد أن “cats” تم تعيينها لـ Steaky)
  • لا يرى Steaky رسالة الترحيب

^ كرر ما سبق مع SiteSetting.discourse_connect_overrides_groups، نفس النتيجة.


أشك في أن لديك إعداداً أكثر تفصيلاً. سيكون من الرائع لو أمكنك مشاركة المزيد من التفاصيل حول إعداد المستخدمين المتأثرين لديك:

  • ما هي إعدادات “Discourse Connect” الأخرى التي قمت بتشغيلها؟
  • هل ينضم المستخدمون المتأثرون لديك بشكل منفصل إلى مجموعات قد تمنحهم مستويات ثقة معينة؟
  • هل مستويات ثقة المستخدمين المتأثرين لديك مقفلة؟ ما نوع المجموعات التي ينتمون إليها؟
  • أي معلومات أخرى قد تكون مفيدة

شكراً!

4 إعجابات

هذه المشكلة عمرها أكثر من عام، وفي غضون ذلك، ابتعد العميل عن Discourse، لذلك لم أعد أستطيع تكرارها بالكامل. ومع ذلك، فإنني دائمًا ما أدون ملاحظات شاملة، لذا لدي حتى سجل لحمولات SSO من ذلك الوقت. ومع ذلك، لا يمكنني فحص أي إعدادات أخرى و/أو محاولة إعادة إنتاج هذا على هذا المثيل المحدد.

بالعودة إلى ملاحظاتي. ما حدث كان مختلفًا قليلاً عما تفعله. كان SSO يمرر حقل مجموعات فارغًا (فقط groups=). لكن المستخدمين المعنيين كانوا أعضاء في مجموعة أخرى، غير معروفة لموفر SSO، والتي كانت تجبر أعضائها على المستوى 2.

بالإضافة إلى ذلك، فإن رسائل الترحيب للمستوى 2 والمستوى 3 تتصرف بشكل مختلف قدر ما أتذكر، لذلك قد تحتاج إلى استخدام المستوى 2 بدلاً من المستوى 3 إذا حاولت تكرار هذا.

لذلك، لتكرار هذا، أعتقد أنك بحاجة إلى القيام بما يلي: (لاحظ أنني أدخلت مجموعة ثانية)

(ووردبريس)

  • قم بإعداد مستخدم ووردبريس “Steaky” بالبريد الإلكتروني steaky@cat.com
  • أضف wpdc_custom_sso_params لتعيين مجموعة dogs لجميع المستخدمين الذين يسجلون الدخول باستخدام $params['groups'] = 'dogs';

(Discourse)

  • أنشئ مستخدمًا “Steaky” بالبريد الإلكتروني steaky@cat.com
  • اجعل Steaky trust_level_1 بشكل شرعي (غير مقفل)
  • أنشئ مجموعة “cats” و “dogs” واضبط “مستوى الثقة الممنوح تلقائيًا للأعضاء” على 2 لمجموعة “cats”
  • اجعل Steaky عضوًا في مجموعة cats
إعجابَين (2)

هل تمكنت من النظر في هذه المشكلة بشكل أكبر؟

إعجاب واحد (1)

لقد توقفت عن استكشاف هذا الخطأ منذ ردي الأخير، لكنني قرأت ملاحظاتك وأنا ممتن لها! من المذهل حقًا أن لديك مثل هذا السجل الجيد له. لا يزال الأمر قيد نظري وسأعود إليه قريبًا، لذا شكرًا لك على المتابعة. :smiley:

3 إعجابات