Не удается протестировать 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

Релевантный код:
https://github.com/freeCodeCamp/freeCodeCamp/pull/43168/files#diff-c99b1f4c50468e6835c7456cff5841cdd1cbe76ca7a2ac1d15893f839ff37799R278

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

Любая помощь будет очень кстати.

Я полагаю, что этот сценарий перенаправления предназначен для фрейма с контентом, а не для вызова fetch. Например, любой случай, когда нужно перенаправить на страницу входа и не перенаправлять обратно, не будет работать, и кросс-доменные куки также будут проблематичны в такой ситуации.

Попробуйте старомодное всплывающее окно? :stuck_out_tongue: