Impossível testar o Discourse Connect no localhost

Olá a todos,

Estamos querendo integrar as medalhas do Discourse com nossa plataforma. Ou seja, permitir que um usuário conecte sua conta do Discourse à sua conta em nossa plataforma.

Para vincular as contas, pensamos que o Discourse Connect seria o caminho a seguir. No entanto, enfrentamos erros de CORS com o redirecionamento:

Acesso ao fetch em 'https://forum.freecodecamp.org/session/sso_provider?sso=<hash>'
(redirecionado de 'http://localhost:3000/discourse/connect') a partir da origem
'http://localhost:8000' foi bloqueado pela política de CORS:
A resposta à solicitação pré-voo não passou na verificação de controle de acesso:
O cabeçalho 'Access-Control-Allow-Origin' não está presente no recurso solicitado.
Se uma resposta opaca atender às suas necessidades, defina o modo da solicitação como 'no-cors'
para buscar o recurso com o CORS desativado.

Tentei uma série de configurações para o Discourse Connect, incluindo adicionar servidores, clientes e endereços do Discourse em discourse connect provider secrets, mas sem sucesso.

Para esclarecer: Não queremos usar o Discourse Connect para fazer login em nada.

Localizações

  • freecodecamp.org - domínio da plataforma
  • forum.freecodecamp.org - subdomínio da instância do Discourse
  • localhost:3000 e localhost:8000 - servidor e cliente do ambiente de desenvolvimento de freecodecamp.org

Código relevante:

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

Qualquer ajuda seria muito apreciada.

Acredito que esse fluxo de redirecionamento seja destinado a um quadro de conteúdo, e não a uma chamada fetch. Por exemplo, qualquer caso em que você precise redirecionar para a página de login e não seja redirecionado de volta não funcionaria, e cookies entre origens também seriam problemáticos dessa forma.

Que tal tentar uma janela pop-up clássica? :stuck_out_tongue: