تعذر اختبار Discourse Connect على localhost

مرحبًا بالجميع،

نود دمجشارات Discourse مع منصتنا. أي، السماح للمستخدم بربط حسابه في Discourse بحسابه على منصتنا.

لربط الحسابات، اعتقدنا أن Discourse Connect سيكون الحل الأنسب. ومع ذلك، واجهنا أخطاء CORS أثناء إعادة التوجيه:

Access to fetch at 'https://forum.freecodecamp.org/session/sso_provider?sso=<hash>'
(redirected from 'http://localhost:3000/discourse/connect') from origin
'http://localhost:8000' has been blocked by CORS policy:
Response to preflight request doesn't pass access control check:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
If an opaque response serves your needs, set the request's mode to 'no-cors'
to fetch the resource with CORS disabled.

لقد جربت مجموعة كبيرة من الإعدادات لـ Discourse Connect، بما في ذلك إضافة عناوين الخادم والعميل وDiscourse إلى discourse connect provider secrets، لكن دون جدوى.

للتوضيح: لا نريد استخدام Discourse Connect لتسجيل الدخول إلى أي شيء.

المواقع

  • freecodecamp.org - نطاق المنصة
  • forum.freecodecamp.org - نطاق فرعي لحالة Discourse
  • localhost:3000 و localhost:8000 - الخادم والعميل لبيئة تطوير freecodecamp.org

الكود ذو الصلة:

return res.redirect(
    `${FORUM_LOCATION}/session/sso_provider?sso=${URL_ENCODED_PAYLOAD}&sig=${HEX_SIGNATURE}`
  );

أي مساعدة ستكون مُقدَّرة جدًا.

أعتقد أن تدفق إعادة التوجيه هذا مخصص لإطار محتوى، وليس لاستدعاء fetch. على سبيل المثال، أي حالة تتطلب إعادة التوجيه إلى صفحة تسجيل الدخول دون إعادة التوجيه مرة أخرى لن تعمل، كما أن ملفات تعريف الارتباط عبر النطاقات ستكون مشكلة في هذه الحالة أيضًا.

جرب نافذة منبثقة بالطريقة التقليدية؟ :stuck_out_tongue: