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!