أدير مدونة ووردبريس متعددة المؤلفين. كيف يمكنني جعل النشر يعمل دون الحاجة إلى إنشاء جميع مؤلفيي حسابًا على ديسكورد؟ هل يجب أن أستخدم SSO مع ووردبريس وديسكورد لحل هذه المشكلة؟
إذا كنت تريد من المؤلفين نشر منشورات باسمهم الخاص على Discourse، فسيحتاجون إلى إنشاء حسابات على Discourse. يُعد SSO نهجًا جيدًا لهذا الغرض، ولكن عند تفعيل SSO، لن يتمكن المستخدمون من تسجيل الدخول إلى المنتدى الخاص بك إلا من خلال موقع WordPress. قد لا يكون هذا ما تريد.
خيار آخر هو نشر جميع المنشورات من WordPress إلى Discourse تحت اسم مستخدم واحد لـ Discourse. إذا ترك المستخدمون إعداد اسم مستخدم Discourse فارغًا، فسيتم نشر المنشورات إلى Discourse بواسطة اسم المستخدم الناشر الذي قمت بإعداده في علامة تبويب إعدادات الاتصال في الإضافة.
مثير للاهتمام.. حسب ما أستطيع رصده، لا يوجد أي من مؤلفيي قد قام بتعيين ذلك. عندما أنظر إلى ملفات المستخدمين، لا أرى خيارًا لتعيين اسم مستخدم في ديسكورش. أين يمكنني العثور على ذلك؟
بالإضافة إلى ذلك، لاحظت للتو أنني أستخدم الإعداد التالي في إضافة ديسكورش لووردبريس:
إزالة حقل اسم ديسكورش من صفحة ملف المستخدم في ووردبريس.
لا تعرض حقل اسم ديسكورش - ما لم يكن تفعيل SSO، فإن هذا الإعداد سيتسبب في نشر جميع المنشورات المرسلة إلى ديسكورش باسم ‘اسم المستخدم الناشر’.
فهمت أن الإعداد المذكور أعلاه سيجبر جميع المنشورات على النشر باسم المستخدم المحدد كـ ‘اسم المستخدم الناشر’ في الإعداد.
ما الذي فاتني؟
شكرًا لك. لقد أدركت للتو أنني كنت قد فعلت خيار إخفاء حقل اسم ديسكورس، والذي كان من المفترض أن يجبر جميع المنشورات على استخدام اسم المستخدم الخاص بالنشر.
نعم، قم بإيقاف هذا إذا كنت تريد أن يتم النشر باسم المستخدم الخاص بالمؤلف على Discourse، والذي ستتمكن على الأرجح من تعيينه دون مشكلة. (بعض السمات، مثل Extra، تمنع تعديل اسم المستخدم عن طريق إخفائه في صفحة الملف الشخصي.)
تم التعديل للإضافة: الآن أرى أن عنوان هذا الموضوع هو رقم خطأ. لست متأكدًا من أن أيًا مما قلته سيحل هذه المشكلة.
نعم، هذا هو السلوك المتوقع. هل يمكنك نشر المنشورات باستخدام حسابك من WordPress إلى Discourse؟
السبب الأكثر شيوعًا لخطأ 403 عند نشر المنشورات إلى Discourse هو تعيين اسم مستخدم Discourse بشكل غير صحيح. قد يكون من المفيد تعطيل إعداد “عدم عرض حقل اسم Discourse” ومراجعة صفحات الملف الشخصي لبعض المؤلفين لديك. تأكد من أن حقل اسم مستخدم Discourse للمؤلفين فارغ. يوجد هذا الحقل في قسم معلومات الاتصال في صفحة الملف الشخصي للمستخدم.
سنقوم قريبًا بنقل حقل اسم مستخدم Discourse خارج قسم معلومات الاتصال، كما سنمنح مدراء الموقع خيار تعيين اسم مستخدم Discourse لمؤلفيهم يدويًا مع إخفاء الإعداد عن المؤلفين. وهذا لأغراض أمنية - لضمان استخدام الأشخاص لاسم مستخدم Discourse الصحيح في المواقع متعددة المؤلفين.
حسناً، هذا ما كنت أتوقعه.
كنت أفكر أن المشكلة تتعلق بعدم تطابق أسماء المستخدمين، لكنني اعتقدت أنه عند تمكين خيار “عدم عرض حقل اسم Discourse” سيتم تجاوز كل شيء.
أعتقد أن التغيير الذي ذكرته سيكون مفيداً جداً.
لقد جربت للتو النشر مع تعطيل الخيار، لكنني حصلت على نفس الخطأ.
بعد إيقاف الخيار، هل يمكنك مراجعة صفحة ملفك الشخصي للتأكد من أن حقل اسم مستخدم Discourse فارغ؟
أسماء المستخدمين في discourse فارغة لجميع المستخدمين.
عند الانتقال إلى علامة تبويب خيارات اتصال WP Discourse، هل تظهر لك رسالة تقول ‘أنت متصل بـ Discourse’؟
بالنسبة لإعدادات مفتاح API واسم المستخدم للنشر في علامة تبويب خيارات الاتصال، هل تستخدم مفتاح API الخاص بجميع المستخدمين في منتدى Discourse؟ وهل تم تعيين اسم المستخدم للنشر على اسم مستخدم النظام لموقعك؟ اسم المستخدم الافتراضي لمستخدم النظام هو ‘system’.
نعم. في تبويب خيارات الاتصال، أرى الرسالة “أنت متصل بـ Discourse”.
مفتاح API خاص بجميع المستخدمين، واسم النشر هو مسؤول منتدى Discourse. اسم المستخدم ليس المستخدم النظامي “system”.
هل يمكنك تجربة تغيير اسم المستخدم إلى ‘system’ (بدون علامات الاقتباس) لمعرفة ما إذا كان ذلك سيحدث فرقًا؟
لقد قمت بتغيير اسم المستخدم إلى “system”، لكنني ما زلت أحصل على رسالة الخطأ نفسها.
“حدث خطأ أثناء نشر هذه المشاركة على Discourse.”
وفيما يلي التفاصيل التي تظهر في بريد الخطأ:
سبب الفشل:
تم استلام رمز استجابة 403 من Discourse.
ممنوع
تأكد من:
- أن المؤلف قد ضبط اسم مستخدم Discourse الخاص به بشكل صحيح
هل لدى أي شخص أفكار أخرى حول كيفية حل هذه المشكلة؟
الشيء الوحيد الذي يمكنني التفكير فيه هو إنشاء مفتاح API جديد وإعادة إدخال كل شيء.
حسناً.. الأمر غريب جداً.. أنا أستخدم nodechef لاستضافة discourse.. أتساءل إن كانت المشكلة في بناءهم أو في إعدادات الخادم. ما رأيكم؟
لقد جربت تغيير المفاتيح وما زلت أعاني من نفس المشكلة.
شكرًا لك على التفاصيل المتعلقة بالاستضافة الخاصة بك. كان يجب أن أسأل عن ذلك. من الممكن أن تكون المشكلة مرتبطة باستضافتهم. إنها ليست مشكلة واجهتها مع استضافتنا، أو مع المواقع المستضافة على https://www.communiteq.com/، أو المواقع المستضافة ذاتيًا.
إذا كان لديك WP-CLI متاحًا على موقع WordPress الخاص بك، فإن أسهل طريقة لتصحيح هذا الخطأ هي محاولة إنشاء موضوع Discourse من وحدة تحكم wp، باستخدام نفس بيانات الاعتماد التي تستخدمها في إعدادات WP Discourse. سيعطيك رد هذا الطلب بعض التفاصيل حول المشكلة.
حسناً، سأجرب ذلك.
كنت أفكر في إعداد تكوين مستضاف ذاتياً على حسابي في AWS. سأجرب ذلك وأرى ما إذا كانت هناك نفس المشكلات. شكراً لمساعدتك.
لسبب ما، يفشل النشر مع خطأ 403. ولا يهم ما أفعله.
سبب الفشل:
تم إرجاع رمز استجابة 403 من Discourse.
ممنوع
تحقق من:
- أن المؤلف قد ضبط اسم مستخدم Discourse الخاص به بشكل صحيح
تظهر علامة التبويب “الاتصال” عبارة “متصل بـ Discourse”. إعداد “عدم عرض حقل اسم Discourse” معطل في النشر.
لقد قمت بالفعل بإعادة إنشاء مفتاح API جديد لضمان الاتصال. اسم المستخدم الافتراضي لمستخدم النظام هو ‘system’.
أنا في حيرة من أمري.
أي مساعدة ستكون موضع تقدير.