Problema com Discourse como provedor de SSO e Inscrição Social

Olá,

Problema

Ao usar o Discourse como provedor de SSO via API (domínio A), se você tentar se registrar no Discourse (domínio B) com um botão de rede social, o modal create-account não aparece imediatamente; em vez disso, você é redirecionado de volta para o modal login.

Nesse ponto, você precisa fechar o modal login, clicar no botão Sign Up e, só então, verá o modal create-account que deveria ter aparecido antes.

Demonstração do problema

Aqui está uma breve demonstração em vídeo:

  • Edge, com cache e cookies limpos e sem extensões.
  • Usando o WP-Discourse configurado para usar o Discourse como provedor de SSO (a maneira mais rápida de mostrar o problema).

O que você vê primeiro é que estou clicando no link de login do SSO do WP-Discourse.
Após clicar no botão do Facebook, sou redirecionado para o modal login em vez do create-account.

Possível motivo

Estamos usando domínios diferentes para o Discourse e para onde a API é chamada.

Para garantir que o problema não venha de plugins ou qualquer outra coisa, consegui reproduzi-lo com um WordPress limpo (com o WP-Discourse configurado para usar o Discourse como provedor de SSO) e um Discourse limpo. Ambos em domínios diferentes.

(Nota: isso não está relacionado ao wp-discourse; é apenas mais fácil demonstrar/testar o problema. Também podemos reproduzi-lo com nosso aplicativo, que consome a API do Discourse e atua como provedor de SSO).

Outras informações

  • Configurações de segurança do Discourse desativadas (não tenho certeza se isso tem algum efeito, CSP desativado, cookies definidos como None ou Disabled).
  • Discourse atualizado.
  • Nenhum problema ao fazer login com SSO.
  • Nada no console do navegador ou nos logs do Discourse.
  • Se você experimentar o problema uma vez com a API de SSO e tentar se cadastrar diretamente nas redes sociais diretamente no Discourse, terá o mesmo problema. Nesse ponto, você precisará limpar seus cookies/cache para que funcione. (mesmo problema relatado aqui: Suggestion: unite the sign up & log in buttons)

Como o Discourse consegue exibir o esperado modal create-modal com campos pré-preenchidos após você clicar manualmente em Sign Up, isso me faz pensar que há um bug ou uma situação que o Discourse deveria conseguir lidar. Estou errado?

Há algo que possa ser feito para corrigir esse comportamento? Estamos perdendo algo?

Obrigado!

Essa falha é tão insignificante que pode ser ignorada novamente?

Eu relatei um problema semelhante em janeiro, mas aqui você pode ver uma reprodução minimalista, sem nada além do Discourse vanilla e uma implementação oficial de SSO. Se houver algo, gostaria que alguém reconhecesse que há um bug ou explicasse o que estamos fazendo de errado.

Como podemos chamar a atenção para esse problema? É possível contratar membros da equipe se o dinheiro for um problema?

– Um cliente e desenvolvedor frustrado.

Olá, configurei o wp-discourse em uma instalação padrão do WordPress, defini o WP como cliente SSO e configurei o login com Facebook no Discourse. Ambos os sites estão hospedados em domínios diferentes.

Vou deixar ambos os sites públicos por alguns dias/semanas para que qualquer pessoa com uma conta no Facebook possa testar e ver o problema por conta própria.

edição: excluí meu Discourse de desenvolvimento, mas ele estava fazendo exatamente a mesma coisa que no vídeo do arkshine.

Clique em “Entrar com Facebook” e veja a mesma janela pop-up aparecer novamente, em vez de mostrar a janela pop-up “Criar Nova Conta” com campos pré-preenchidos.