تمرير المستخدمين المخفيين/المحظورين عبر SSO؟

مرحبًا، أقوم بدمج Discourse مع موقع مجتمع حيث يمكن للأعضاء بالفعل “حظر” بعضهم البعض. لذا، عندما يسجل عضو في موقعي الدخول عبر SSO، أرغب في تمرير قائمة بـ external_id الخاصة بالمستخدمين المحظورين أيضًا. أظن أنه يمكن وضع هذه القيم ببساطة في حقل “المستخدمون الذين تم كتم صوتهم” على جانب Discourse…

إذن، السؤال هو: هل يمكنني تمرير قائمة بالمستخدمين المراد “كتم صوتهم” عند حدوث عملية SSO؟ يبدو أن هناك قائمة محدودة من بيانات تعريف المستخدم التي يمكن تمريرها أثناء SSO، ولا أرى أن المستخدمين الذين تم كتم صوتهم مدرجون ضمن الخيارات المتاحة.

وإذا لم يكن ذلك ممكنًا، فإن تحقيق هذه الوظيفة يتطلب على ما يبدو إعداد Webhook، وعند استلام حدث user_logged_in من الـ Webhook، يمكنني حينها استخدام واجهة برمجة تطبيقات Discourse لتمرير قائمة المستخدمين الذين تم كتم صوتهم… هل هذا صحيح؟ (وإذا كان كذلك: أين توجد هذه الاستدعاءات في واجهة برمجة التطبيقات؟ لم أتمكن من العثور عليها!)

شكرًا لكم!!

نعم، يبدو هذا مشابهًا إلى حد ما للإضافات الأخرى التي يمتلكها SSO بالفعل. من النادر الحاجة إلى هذا الأمر، لذا أنا متردد بشأن إضافته إلى البروتوكول أم لا.

ستعمل الويب هوك، حيث سيتم استدعاؤك عند تسجيل الدخول، ثم يمكنك إجراء اتصال ثانٍ بـ Discourse لمزامنة القائمة عبر واجهة برمجة التطبيقات الخاصة بنا.

مرحبًا سام، نعم، لمشكلتي المباشرة، سأستجيب ببساطة لحدث الويب هوك user_logged_in — لا مشكلة. شكرًا لك على ذلك.

وأنا أفهم وجهة نظرك فيما يتعلق بما يمكن تمريره عبر SSO. ومع استمرار دمج Discourse بعمق مع موقعي، أبدأ في فهم المزيد حول كيفية اختياركم لتنفيذ SSO. إنه يعمل بشكل جيد حاليًا، لكنني أعتقد فعليًا أنه قد يكون من المثير تجميع جميع مربعات الاختيار “تجاوزات SSO…” في مربع اختيار عام واحد، على سبيل المثال: “SSO يدير جميع سمات المستخدم” (أو ما شابه ذلك).

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