حل مشكلة إضافة SAML
… إنها مشكلة في المكون الإضافي وليست في omniauth أو مكتبة ruby-saml (سأحاول توثيق ما فعلته، ولكنها في الأساس مزيج من توثيق غير كافٍ ومضلل، وبعض الحلول البرمجية الغريبة، بدون تصحيح أخطاء مناسب، تمت إضافة بعض التعليقات، ولكن بدون مشاكل يصعب فهم النظام).
للبقاء مع الموضوع أقترح القيام بما يلي (وفقًا لمعرفتي المحدودة بـ Discourse و Ruby):
- تعديل ملف الحاوية يدويًا (containers/app.yml)
- تلميح: إذا كنت ترغب في أن يكون للحاوية اسم مختلف، يمكنك تغيير اسم الملف في دليل containers وتنفيذ جميع الأوامر لتغيير app إلى <your_name> (ربما يكون ذلك ممكنًا بطريقة أخرى، لكن لم يكن لدي وقت للتحقيق)
- قم بعمل fork للمكون الإضافي في GitHub في مساحتك الخاصة حتى تتمكن من التعامل مع الكود، يمكنك دائمًا استدعاؤه بنفس الطريقة مثل أي مكون إضافي آخر من ملف تكوين الحاوية
- في العديد من الأماكن يمكنك إضافة
File.write('/var/www/discourse/log/production.log', 'Some text', mode: 'a')والتي ستتم كتابتها في ملف السجل في كل مرة يفسر فيها التفسير هذا الجزء من الكود - يمكنك أيضًا عمل fork لمشروع Discourse على GitHub واستنساخه من مكانك إذا كنت ترغب في تحسين Discourse أيضًا