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
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?