إضافة دعم SCIM كمزود خدمة

كما ذكرنا بالفعل هنا أعتقد أنه ستكون ميزة لطيفة إذا كان Discourse يدعم بروتوكول SCIM. SCIM هو معيار مقترح من IETF عبر RFC7644 و RFC7643 والذي يهدف إلى توفير حل لإدارة المستخدمين/المجموعات من خلال واجهة برمجة تطبيقات REST بسيطة. ستكون حالة الاستخدام الخاصة بنا هي إدارة هويات المستخدمين وعضويات المجموعات عبر خدمة منفصلة تعمل كعميل SCIM، Keycloak في حالتنا. سيعمل Discourse كموفر خدمة SCIM. بالإضافة إلى أي تسجيل دخول موحد موجود وإنشاء حساب مركزي سيكون له المزايا التالية:

  • تعيين المستخدمين للمجموعات؛
  • تغيير معلومات المستخدم فورًا في العديد من التطبيقات؛
  • حذف المستخدم عند إزالته من تسجيل الدخول الموحد؛
  • الحصول على قائمة المستخدمين أو المجموعات بطريقة قياسية؛

لقد تلقينا بعض التمويل من NGI عبر NLNet لتطبيقات SCIM، يمكنك قراءة الاقتراح وحول الأعمال ذات الصلة في منتدانا هنا. سأحاول تنفيذ حل أول في إضافة لـ Discourse في الوقت الحالي، ولكن سيكون من الجيد دمج هذا في جوهر Discourse في مرحلة ما. أخبرني بأي أفكار وآراء!

5 إعجابات

يبدو غريباً أن مواصفاتهم تستخدم /Users و /Groups بدلاً من شيء مثل .well-known/scim/Users. يبدو من المؤكد أنها ستتعارض مع المسارات الحالية في العديد من التطبيقات.

يسعدني المساعدة في ذلك إذا كان لديك بعض الميزانية الإضافية.

أتخيل أنه إذا تمت كتابته بشكل جيد وكان مستخدماً على نطاق واسع (أو مطلوباً من قبل العديد من عملاء المؤسسات) فقد يصبح إضافة رسمية.

لا أتخيل أنه سيصبح جزءاً من النواة أبداً - حتى Oauth2 هو إضافة.

4 إعجابات

أعتقد أنه من الممكن استخدام أي مسار كبادئة لنقاط نهاية SCIM، على سبيل المثال، api/scim/v2/Users أو المسارات المعروفة التي تقترحها.

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

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

آه. هذا منطقي. افترضت أن هذا هو الحال ولكني لم أر ذلك في قراءتي السريعة. سألقي نظرة على ملحقات المصادقة الأخرى كمرجع.

فيما يلي الملحقات الرسمية التي تحتوي على “auth” في اسمها

discourse-apple-auth/                  discourse-microsoft-auth/
discourse-authentication-validations/  discourse-oauth2-basic/
discourse-auth-no-email/               discourse-vk-auth/
discourse-development-auth/            discourse-wikimedia-auth/

يبدو مشروعًا مثيرًا للاهتمام

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

الإصدار الأول من المكون الإضافي متاح الآن هنا:

لا يزال التعيين بسيطًا جدًا، ولن تعمل سوى الحقول الأساسية للمستخدمين والمجموعات. لقد اختبرت باستخدام المكون الإضافي SCIM الخاص بـ keycloak ويمكنك بالفعل إضافة/تعديل المستخدمين على Keycloak والتي سيتم إنشاؤها/تحديثها بعد ذلك في Discourse. المكون الإضافي SCIM الخاص بـ keycloak موجود هنا:

نرحب بأي ملاحظات :slight_smile: سنختبر المزيد مع keycloak في بيئتنا ولا يزال بإمكاني اختباره مع authentik.

4 إعجابات

هذا رائع، فكرة رائعة. أتطلع إلى اختبار هذا. شكرًا!

سيكون من الرائع لو أمكنك نشر هذا كموضوع في فئة Plugin :slight_smile:

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

في فئة المكوّن الإضافي، يكون زر النشر معطلاً بالنسبة لي وأرى الرسالة التي تفيد بأنني غير مسموح لي بالنشر في تلك الفئة.

انضم إلى مجموعة @plugin_authors. هذا يسمح لك بإنشاء موضوع في تلك الفئة.

شكرا لك، لقد أرسلت طلباً :slight_smile:

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

… وتم النشر أخيرًا: SCIM Plugin

إعجابَين (2)