إليك كيفية تكوين Discourse للسماح بتسجيل الدخول والتسجيل باستخدام SAML الخاص بـ OneLogin.
تكوين OneLogin
إنشاء حساب OneLogin
انتقل إلى OneLogin وأنشئ حسابًا جديدًا.
إنشاء تطبيق جديد: SAML Test Connector (IdP w/attr)
من لوحة التحكم الخاصة بك، أنشئ تطبيقًا جديدًا.
ابحث عن SAML Test Connector (IdP w/attr)
تكوين التطبيق
لنفترض أن عنوان URL الخاص بمثال Discourse هو http://discourse.example.com. دعنا نقوم بتكوينه.
انتقل إلى علامة التبويب Configuration (التكوين) واملأ التفاصيل التالية:
- Audience (المستقبل):
http://discourse.example.com - Recipient (المرسل إليه):
http://discourse.example.com/auth/saml/callback - ACS (Consumer) URL Validator:
^http:\\/\\/discourse\\.example\\.com\\/auth\\/saml\\/callback\\/$ - ACS (Consumer) URL:
http://discourse.example.com/auth/saml/callback
نسخ معلومات الشهادة ونقطة نهاية SAML 2.0
انتقل إلى علامة التبويب SSO.
انقر على رابط View Details (عرض التفاصيل) الموجود تحت الشهادة وانسخ SHA fingerprint (بصمة SHA) و X.509 Certificate (الشهادة X.509). دوّن هذه المعلومات، حيث سيتم استخدامها عند تكوين تطبيق Discourse.
انسخ وأدّن عنوان URL الخاص بـ SAML 2.0 Endpoint (HTTP).
تكوين Discourse
تثبيت إضافة discourse-saml
اتبع هذا الدليل لتثبيت إضافة discourse-saml.
تكوين إضافة discourse-saml
يمكن تكوين الإضافة بطريقتين:
الخيار 1: إعدادات الموقع (موصى به)
بعد التثبيت وإعادة البناء، انتقل إلى لوحة تحكم المشرف في Discourse وانتقل إلى Admin → Plugins → SAML. فعّل إعداد saml_enabled وقم بتكوين ما يلي:
- saml_target_url: عنوان
SAML 2.0 Endpoint URLالمنسوخ من علامة تبويب OneLogin SSO - saml_cert_fingerprint:
SHA fingerprintالمنسوخ من علامة تبويب OneLogin SSO → قسم الشهادة - saml_cert:
X.509 Certificateالمنسوخ من علامة تبويب OneLogin SSO → قسم الشهادة - saml_log_auth: فعّلها لأغراض التصحيح
الخيار 2: متغيرات البيئة
بدلاً من ذلك، يمكنك تكوين الإضافة عبر متغيرات البيئة في ملف app.yml. لاحظ أنه عند استخدام متغيرات البيئة، تكون جميع إعدادات موقع SAML مخفية عن واجهة المستخدم الخاصة بالمسؤول.
قم بتعديل app.yml
cd /var/discourse
vim containers/app.yml
وأضف هذه المتغيرات تحت قسم env:
DISCOURSE_SAML_TITLE: "Example SAML"
DISCOURSE_SAML_TARGET_URL: {SAML 2.0 Endpoint URL}
DISCOURSE_SAML_LOG_AUTH: "true"
DISCOURSE_SAML_CERT_FINGERPRINT: {SHA fingerprint}
DISCOURSE_SAML_CERT: {X.509 Certificate without line breaks}
- استبدل {SAML 2.0 Endpoint URL} بعنوان
SAML 2.0 Endpoint URLالمنسوخ من علامة تبويب OneLogin SSO - استبدل {SHA fingerprint} بـ
SHA fingerprintالمنسوخ من علامة تبويب OneLogin SSO → قسم الشهادة - استبدل {X.509 Certificate without line breaks} بـ
X.509 Certificateالمنسوخ من علامة تبويب OneLogin SSO → قسم الشهادة، لاحظ أنه يجب ألا تكون هناك فواصل أسطر، وأزل علامات البداية والنهاية
إعادة بناء التطبيق
لكي تنطبق التغييرات، قم بإعادة بناء التطبيق
cd /var/discourse
./launcher rebuild app
تفضل! 
يجب أن تتمكن الآن من تسجيل الدخول باستخدام SAML الخاص بـ OneLogin.




