Kann Discourse Connect nicht auf localhost testen

Hallo zusammen,

wir möchten Discourse-Badges in unsere Plattform integrieren. Das heißt, wir möchten es Benutzern ermöglichen, ihr Discourse-Konto mit ihrem Konto auf unserer Plattform zu verknüpfen.

Für die Verknüpfung der Konten dachten wir, Discourse Connect wäre die richtige Lösung. Allerdings stoßen wir bei der Weiterleitung auf CORS-Fehler:

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.

Ich habe bereits eine ganze Reihe von Einstellungen für Discourse Connect ausprobiert, einschließlich dem Hinzufügen von Server-, Client- und Discourse-Adressen zu discourse connect provider secrets, jedoch ohne Erfolg.

Zur Klarstellung: Wir möchten Discourse Connect nicht zum Einloggen in irgendetwas verwenden.

Standorte

  • freecodecamp.org – Plattform-Domain
  • forum.freecodecamp.org – Subdomain der Discourse-Instanz
  • localhost:3000 und localhost:8000 – Server und Client der Entwicklungsumgebung von freecodecamp.org

Relevanter Code:

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

Jede Unterstützung wäre sehr willkommen.

Ich glaube, dieser Umleitungsablauf ist für einen Content-Frame gedacht, nicht für einen fetch-Aufruf. Zum Beispiel würde jeder Fall, bei dem man zur Login-Seite umleiten müsste, ohne dass man zurückgelenkt wird, nicht funktionieren, und Cross-Origin-Cookies wären in diesem Fall ebenfalls problematisch.

Probieren wir es mit einem altmodischen Popup-Fenster? :stuck_out_tongue: