لم أجد دليلاً خاصاً بهذا. لكن ما أود فعله هو “دمج” Discourse كـ “تطبيق” داخل بيئة Nextcloud التعاونية مفتوحة المصدر. أعتقد أن ذلك يتم عن طريق فتح Discourse — بطريقة تشبه iframe — كـ “موقع خارجي” داخل Nextcloud. هذه هي خطواتي:
قمت بتسجيل الخروج من كل من Discourse وNextcloud. ثم سجلت الدخول إلى Nextcloud (باستخدام نفس البريد الإلكتروني في كلا الموقعين)، لكنني لم أستطع فتح “الموقع الخارجي” بنجاح لعرض منتدى Discourse الخاص بي.
لقد جربت تعطيل تسجيل الدخول الموحد (SSO)، لكن لا يزال لا يمكن فتح النطاق الفرعي الذي يستضيف فيه منتداي داخل Nextcloud. ومع ذلك، فإن اسم النطاق العادي الخاص بي يفتح بنجاح.
هل تقصد بمصطلح CSP مزود خدمة السحابة الذي يستضيف فيه Discourse؟
قد تعمل روابطك بشكل صحيح أو لا، وذلك بسبب الطرق المختلفة التي تتعامل بها متصفحات الويب ومواقع الويب مع عناوين URL الخاصة بـ HTTP و HTTPS، ولأن تطبيق المواقع الخارجية يضمّن الروابط الخارجية في إطارات IFrames.
لا يعمل Discourse داخل وسم <iframe>، وسيرفض خادم Discourse الخاص بك الاتصال.
حسنًا، يؤكد مستخدم في منتدى Nextcloud ببساطة أن المشكلة تبدو في Discourse، حيث لا يعمل داخل iframe. وقد أدت عملية بحث سريعة على Google إلى هذا المشروع على Github الذي يعود عمره إلى 4 سنوات:
بعد تعديل ملف app.yml لمراعاة هذه الإضافة، ما الخطوة التالية؟ هل أحتاج إلى إعادة بناء Discourse لتثبيته بالكامل؟
عذرًا على التأخر في الرد، لكنني كنت أستكشف مؤخرًا خيارات التكامل بين Nextcloud وDiscourse. ربما تكون قد استوعبت كل هذا بالفعل، لكنني مهتم بتبادل الخبرات. هل ما زلت تستخدم Discourse وNextcloud معًا؟ وإذا كان الأمر كذلك، هل يمكنك مشاركة المزيد من المعلومات حول ما تحاول تحقيقه وكيف تسير الأمور بالنسبة لك؟ سأقدر ذلك كثيرًا!
نعم، كما تعلمت، لا يحب Discourse التحميل داخل إطار مضمن (iframe). لقد كان الأمر كذلك دائمًا. الحل البديل هو استخدام نظام التخصيص المرن الخاص بـ Discourse لإضافة رأس (header) يتطابق مع موقعك الرئيسي. يمكنك بعد ذلك استخدام نظام التخصيص في Nextcloud لتحديثه ليتناسب مع ما تراه مناسبًا. في إعدادات المواقع الخارجية في لوحة تحكم Nextcloud، ستختار خيار redirect، مما يعني أن الموقع لا يسمح بالتضمين. عندئذٍ سيفتح رابط Discourse في نفس تبويب المتصفح، دون استخدام إطار مضمن.
تطبيق Nextcloud discoursesso الذي تشير إليه يتعلق فقط بالسماح للأشخاص بتسجيل الدخول إلى موقع Discourse الخاص بك عبر Nextcloud. يبدو أنك تقوم بإعداده بشكل صحيح. كل ما عليك فعله هو الانتقال إلى عنوان URL الخاص بـ Discourse ومحاولة تسجيل الدخول، وستلاحظ أنك سجلت الدخول باستخدام بيانات اعتماد Nextcloud الخاصة بك.
لاحظ أنه في Discourse، تم إعادة تسمية Discourse SSO إلى Discourse Connect. تفعيله سيستبدل تمامًا أي خيارات تسجيل دخول أخرى في موقع Discourse الخاص بك، لذا ستحتاج إلى استخدامه بحذر.