Всем привет,
Мы хотим интегрировать бейджи 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— поддомен экземпляра Discourselocalhost: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}`
);
Любая помощь будет очень кстати.