Eu vi o banner no meta.discourse.org dizendo que meu login social do Facebook seria removido, recomendando que eu mudasse para o Discourse ID. Então, cliquei no link para o Discourse ID e tentei Entrar com o Facebook, e falhou.
Parece que suas configurações do Facebook estão incorretas. Como o login com o Facebook ainda não funciona, acho que vocês deveriam estender o prazo de 30 de novembro.
O Login com Facebook está indisponível no momento para este aplicativo, pois estamos atualizando detalhes adicionais para este aplicativo. Por favor, tente novamente mais tarde.
Obrigado pelo relatório, Dan. Consegui fazer login usando minha conta do Facebook, mas vejo que os processos de Revisão de Aplicativos mudaram, então enviei uma solicitação de revisão. Nosso aplicativo do Facebook não faz nada de especial, ele apenas permite o login via Facebook, mas, mesmo assim, a Meta (Facebook) precisa revisar. Espero que eles façam isso em breve.
Analisaremos a extensão do prazo aqui no Meta, dependendo da rapidez com que essa revisão for concluída.
Uma armadilha comum com o Login do Facebook é que ele funcionará para usuários listados nas configurações de administrador do Facebook como “desenvolvedores” do aplicativo do Facebook, mas não funcionará para o público em geral.
Acredito que você conseguiria reproduzir o problema seguindo o guia do Facebook para testar o Login do Facebook.
Está funcionando um pouco melhor agora, mas ainda não está funcionando completamente. Acho que você definiu a URL de redirecionamento para a URL errada.
Agora ele solicita nome e e-mail, ou, se você já fez login com o Facebook, “Você já fez login no Discourse Login (Discourse ID) com o Facebook. Gostaria de continuar?”
Se eu seguir esses passos, sou enviado para a página inicial do id.discourse.com, eu não sou redirecionado para o meta. Eu faço login no ID e vejo a página inicial do ID.
A menos que, haja algo persistente de uma tentativa anterior de login no meta para você… Você pode reproduzir isso em um navegador diferente?
Obrigado, consigo reproduzir em certas condições, acho que consigo ver o que está acontecendo.
Quando um usuário inicia uma autenticação do meta, armazenamos um valor para destination_url na instância do ID para que, após a autenticação, o usuário possa retornar de onde estava. Mas quando a autenticação não é concluída em um curto período de tempo (falha ou o usuário abandona a autenticação), esse destination_url não é limpo, ele permanece na sessão do navegador do usuário. Na próxima vez que o usuário tentar fazer login, o ID tentará redirecionar para esse URL, mas como ele tem uma combinação antiga de código/estado do fluxo de autenticação original, o redirecionamento resulta no erro “Desculpe, a autorização expirou”.
Ele não deve redirecionar após um curto período de tempo, precisamos garantir que o valor destination_url seja limpo após 10 minutos, acredito que a combinação de código/estado para autenticação é válida apenas por 10 minutos, preciso verificar.