Desde o início, os logins sociais do Discourse em desktop sempre usaram uma janela de ‘popup’ para fazer login.
A intenção era ser ‘menos’ distrativo, mantendo-o no site real enquanto a ação de ‘fazer login’ ocorria.
Acho que não faz sentido manter isso por alguns motivos.
Já é inconsistente com a forma como o ‘Discourse SSO’ funciona, pode ser instável em navegadores que não permitem popups (meu Firefox reclama e exige um clique para ativá-lo), o código para publicar mensagens é complexo e difícil de manter, além de já exigirmos um clique extra no popup agora.
Como você se sentiria em relação a descartar o código de ‘abrir uma janela para login social’ e ter apenas 1 maneira consistente de fazer login, seja via SSO, login social ou o que for?
Assim que ele eventualmente chegar à versão estável, devemos remover as opções de configuração redundantes de “tela cheia” dos plugins (por exemplo, OAuth2, OIDC)
Isso está alterando algumas partes bastante críticas do nosso código de autenticação, então a branch foi implantada no Meta para testes.
Se alguém tiver um tempo livre, por favor, tente fazer login usando alguns provedores diferentes e desconectar/reconectar contas nas suas preferências. Se encontrar algum problema, me avise e eu investigarei
Também é uma ótima oportunidade para experimentar nossa nova autenticação do Discord, que está configurada aqui no Meta
Testei o login com Facebook, Google, Twitter e Discord, todos com sucesso. Também testei a desconexão e a reconexão das mesmas contas nas preferências do usuário. Ambos os processos foram fluidos.
Não posso testar o GitHub, pois tenho a autenticação de dois fatores (2FA) ativada na conta do Discourse vinculada ao meu GitHub.
Fiz alguns testes adicionais (os testes acima foram todos realizados no Chrome no Windows). Confirmo que o login funciona com IE, Edge e Firefox no Windows também. Descobri 2 bugs menores, um relacionado ao logout e outro à conexão de conta no IE, mas ambos foram confirmados como existentes antes dessa alteração.