رسالة خطأ مربكة/غير منقحة عند استخدام Discourse كمزود SSO

إذا لم تقم بتكوين إعداد sso provider secrets بشكل صحيح عند استخدام Discourse كمزود SSO، فستظهر لك رسالة خطأ عامة 500 في المتصفح ورسالة خطأ محيرة في السجلات:

TypeError (no implicit conversion of nil into String) /var/www/discourse/lib/single_sign_on.rb:114:in `hexdigest’

بناءً على مسار الكود المتبع، يبدو أن هذا خطأ غير مقصود، وأعتقد أنه يجب تحسين رسالة الخطأ هذه:

  • في السجلات، أشر إلى أن مزود SSO غير مُهيأ بشكل صحيح أو أن هناك محاولة غير مصرح بها
  • في المتصفح، اعرض رسالة خطأ أكثر ملاءمة (على الأرجح HTTP 400 Bad Request أو 403 Forbidden)

تفاصيل أكثر هنا (ربما يمكن لمسؤول/مراقب نقل هذا المنشور إلى هذا الموضوع الجديد نيابةً عني):

ملاحظة: هذا في سياق إضافة wp-discourse لـ WordPress، لكن المشكلة لا علاقة لها بهذه الإضافة تحديدًا.

هل تقصد تركه فارغًا أم وضع بيانات عشوائية فيه؟

يحدث هذا إذا تركت الإعداد فارغًا (وبشكل أكثر تحديدًا، أعتقد أنه يحدث دائمًا عندما لا يكون هناك مفتاح سري للنطاق المرتبط بطلب SSO وارد).

أها، إذا كانت الإعداد فارغة، فأنا أدعم عرض رسالة خطأ أفضل هنا. @eviltrout، هل يمكنك القيام بذلك أو إسناد المهمة؟

@Osama قام بذلك وتم دمجه:

6 إعجابات