Imposible probar Discourse Connect en localhost

Hola a todos,

Queremos integrar las insignias de Discourse con nuestra plataforma. Es decir, permitir que un usuario conecte su cuenta de Discourse con su cuenta en nuestra plataforma.

Para vincular las cuentas, pensábamos que Discourse Connect sería la mejor opción. Sin embargo, hemos encontrado errores de CORS con la redirección:

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.

He probado una gran cantidad de configuraciones para Discourse Connect, incluyendo agregar las direcciones del servidor, del cliente y de Discourse a discourse connect provider secrets, pero sin éxito.

Para aclarar: No queremos usar Discourse Connect para iniciar sesión en nada.

Ubicaciones

  • freecodecamp.org - dominio de la plataforma
  • forum.freecodecamp.org - subdominio de la instancia de Discourse
  • localhost:3000 y localhost:8000 - servidor y cliente del entorno de desarrollo de freecodecamp.org

Código relevante:

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

Agradeceríamos mucho cualquier ayuda.

Creo que este flujo de redirección está pensado para un marco de contenido, no para una llamada fetch. Por ejemplo, cualquier caso en el que tengas que redirigir a la página de inicio de sesión sin volver a redirigir de nuevo no funcionaría, y las cookies de origen cruzado también serían problemáticas de esta manera.

¿Qué tal si pruebas con una ventana emergente de la vieja escuela? :stuck_out_tongue: