Impossibile testare Discourse Connect su localhost

Ciao a tutti,

Vorremmo integrare i badge di Discourse con la nostra piattaforma. Cioè, permettere a un utente di collegare il proprio account Discourse al proprio account sulla nostra piattaforma.

Per collegare gli account, pensavamo che Discourse Connect fosse la soluzione giusta. Tuttavia, abbiamo riscontrato errori CORS durante la reindirizzazione:

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.

Ho provato un’infinità di impostazioni per Discourse Connect, incluso l’aggiunta di indirizzi server, client e Discourse a discourse connect provider secrets, ma senza successo.

Per chiarire: Non vogliamo utilizzare Discourse Connect per accedere a nulla.

Posizioni

  • freecodecamp.org - dominio della piattaforma
  • forum.freecodecamp.org - sottodominio dell’istanza Discourse
  • localhost:3000 e localhost:8000 - server e client dell’ambiente di sviluppo di freecodecamp.org

Codice rilevante:

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

Qualsiasi aiuto sarebbe molto apprezzato.

Credo che questo flusso di reindirizzamento sia destinato a un frame di contenuto, non a una chiamata fetch. Ad esempio, qualsiasi caso in cui si debba reindirizzare alla pagina di login senza essere reindirizzati indietro non funzionerebbe, e anche i cookie cross-origin sarebbero problematici in questo modo.

Prova con una finestra popup in stile classico? :stuck_out_tongue: