ديسكورس مع SSO من Nextcloud

لم أجد دليلاً خاصاً بهذا. لكن ما أود فعله هو “دمج” Discourse كـ “تطبيق” داخل بيئة Nextcloud التعاونية مفتوحة المصدر. أعتقد أن ذلك يتم عن طريق فتح Discourse — بطريقة تشبه iframe — كـ “موقع خارجي” داخل Nextcloud. هذه هي خطواتي:

  1. لاحظت وجود نوع من “تطبيق التكامل” لاستخدام SSO بين Nextcloud وDiscourse:
    Discourse SSO - Apps - App Store - Nextcloud

  2. في Nextcloud، انتقل إلى + Apps → Integration → Discourse SSO. قم بتثبيته وتمكينه.

  3. اذهب إلى إعداداتي، وأدخل معلومات SSO الخاصة بي:

  4. انتقل إلى موقع منتدى Discourse الخاص بي (والذي باللغة السويدية، آسف)، ثم انتقل إلى إعدادات المسؤول:


    وانزل للأسفل لملء هذه الحقول الثلاثة:

  5. قمت بتسجيل الخروج من كل من Discourse وNextcloud. ثم سجلت الدخول إلى Nextcloud (باستخدام نفس البريد الإلكتروني في كلا الموقعين)، لكنني لم أستطع فتح “الموقع الخارجي” بنجاح لعرض منتدى Discourse الخاص بي.

لماذا يفسر Firefox منتدي على أنه مضمن؟

هل أنت متأكد من استخدام نقطة النهاية الصحيحة لـ SSO؟

الثاني هو التحقق مما إذا كان CSP يسبب هذا السلوك (أنا لست متأكدًا من كيفية أو سبب ذلك)

لقد جربت تعطيل تسجيل الدخول الموحد (SSO)، لكن لا يزال لا يمكن فتح النطاق الفرعي الذي يستضيف فيه منتداي داخل Nextcloud. ومع ذلك، فإن اسم النطاق العادي الخاص بي يفتح بنجاح.
هل تقصد بمصطلح CSP مزود خدمة السحابة الذي يستضيف فيه Discourse؟

من Nextcloud

قد تعمل روابطك بشكل صحيح أو لا، وذلك بسبب الطرق المختلفة التي تتعامل بها متصفحات الويب ومواقع الويب مع عناوين URL الخاصة بـ HTTP و HTTPS، ولأن تطبيق المواقع الخارجية يضمّن الروابط الخارجية في إطارات IFrames.

لا يعمل Discourse داخل وسم <iframe>، وسيرفض خادم Discourse الخاص بك الاتصال.

3 إعجابات

شكرًا لك! ولكن لماذا توجد إذن تطبيق “تكامل SSO” إذا كان التكامل مستحيلًا؟ هل هناك حل بديل يسمح بتضمين Discourse كـ iframe؟

تعديل: لقد أنشأت منشورًا في منتدى Nextcloud الآن. وسأبلغ عن النتائج إذا حصلت على أي توضيح من هناك.

حسنًا، يؤكد مستخدم في منتدى Nextcloud ببساطة أن المشكلة تبدو في Discourse، حيث لا يعمل داخل iframe. وقد أدت عملية بحث سريعة على Google إلى هذا المشروع على Github الذي يعود عمره إلى 4 سنوات:

بعد تعديل ملف app.yml لمراعاة هذه الإضافة، ما الخطوة التالية؟ هل أحتاج إلى إعادة بناء Discourse لتثبيته بالكامل؟

نعم، سيتطلب الأمر إعادة بناء لتثبيت أي مكون إضافي

فقط كتنبيه، هناك احتمال كبير بأن يتعطل مكون إضافي لم يتم صيانته لأكثر من 4 سنوات.

إعجابَين (2)

يمكنك تقديم مشكلات وطلبات ميزات على مستودع المشروع على GitHub. لاحظ أنه لم يتم تحديثه للإصدار 20 بعد. انقر للحصول على التفاصيل.

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

شكرًا على النصيحة! ألم تستخدم هذا التطبيق بنفسك؟

للتدوين: قمت بتثبيت إضافة “allowifram”، وقد تعطلت منصة Discourse الخاصة بي بالفعل. :stuck_out_tongue:

للمهتمين، لقد سألت المطور عما إذا كان قد تم بذل محاولة لدمج Discourse في Nextcloud: Amend so that Discourse can be opened within Nextcloud? · Issue #18 · habi-dat/discoursesso · GitHub
أجاب المطور بالنفي، لكنه ذكر أنه قد عمل على تجاوز مشكلة iframe باستخدام الإضافة التالية: GitHub - soudis/discourse-allow-same-origin · GitHub
لم أجربها بنفسي بعد.

إعجابَين (2)

عذرًا على التأخر في الرد، لكنني كنت أستكشف مؤخرًا خيارات التكامل بين Nextcloud وDiscourse. ربما تكون قد استوعبت كل هذا بالفعل، لكنني مهتم بتبادل الخبرات. هل ما زلت تستخدم Discourse وNextcloud معًا؟ وإذا كان الأمر كذلك، هل يمكنك مشاركة المزيد من المعلومات حول ما تحاول تحقيقه وكيف تسير الأمور بالنسبة لك؟ سأقدر ذلك كثيرًا!

نعم، كما تعلمت، لا يحب Discourse التحميل داخل إطار مضمن (iframe). لقد كان الأمر كذلك دائمًا. الحل البديل هو استخدام نظام التخصيص المرن الخاص بـ Discourse لإضافة رأس (header) يتطابق مع موقعك الرئيسي. يمكنك بعد ذلك استخدام نظام التخصيص في Nextcloud لتحديثه ليتناسب مع ما تراه مناسبًا. في إعدادات المواقع الخارجية في لوحة تحكم Nextcloud، ستختار خيار redirect، مما يعني أن الموقع لا يسمح بالتضمين. عندئذٍ سيفتح رابط Discourse في نفس تبويب المتصفح، دون استخدام إطار مضمن.

Screen Shot 2021-05-05 at 3.58.30 PM

تطبيق Nextcloud discoursesso الذي تشير إليه يتعلق فقط بالسماح للأشخاص بتسجيل الدخول إلى موقع Discourse الخاص بك عبر Nextcloud. يبدو أنك تقوم بإعداده بشكل صحيح. كل ما عليك فعله هو الانتقال إلى عنوان URL الخاص بـ Discourse ومحاولة تسجيل الدخول، وستلاحظ أنك سجلت الدخول باستخدام بيانات اعتماد Nextcloud الخاصة بك.

لاحظ أنه في Discourse، تم إعادة تسمية Discourse SSO إلى Discourse Connect. تفعيله سيستبدل تمامًا أي خيارات تسجيل دخول أخرى في موقع Discourse الخاص بك، لذا ستحتاج إلى استخدامه بحذر.

3 إعجابات

هل حققت أي نجاح مع هذا الملحق؟ :eyes:

لقد قمت بتثبيت البرنامج المساعد، لكنني ما زلت أحصل على رسالة “فشل في الحصول على إشعارات Discourse”