إعداد SAML الخاص بـ OneLogin لـ Discourse

إليك كيفية تكوين 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

تفضل! :tada:

يجب أن تتمكن الآن من تسجيل الدخول باستخدام SAML الخاص بـ OneLogin.

6 إعجابات