Estou recebendo a mesma mensagem “O link de e-mail está muito antigo” deste tópico: Email login link is too old
Desculpe, o link de login por e-mail está muito antigo. Selecione o botão Entrar e use "Esqueci minha senha" para obter um novo link.
Minha configuração é suficientemente diferente, então achei que deveria criar um novo tópico.
Meu servidor é uma VPS Ubuntu 20.04. O HAProxy está configurado na frente da instalação oficial baseada em Docker. O HAProxy gerencia os certificados SSL, mas o Discourse ainda está configurado para forçar HTTPS.
Tenho dois sites configurados. Em um, o login por e-mail funciona perfeitamente. No outro, falha com esse erro.
Adicionei a variável de ambiente TZ em ambos os contêineres. Quando executo date em qualquer um dos contêineres ou no meu servidor, todos retornam o mesmo horário.
Recentemente, migrei de um servidor para outro. Copiei todo o diretório do projeto para o novo servidor e depois reconstruí. Enfrentei alguns problemas, mas não me lembro exatamente quais foram; eventualmente, consegui colocar tudo no ar, pelo menos é o que achei…
Você já tentou isso com um usuário e endereço de e-mail diferentes? Há alguma chance de estar olhando para o e-mail errado, mais antigo? Eu já me deparei com esse problema no passado também.
Ok, então um novo usuário pode fazer login pelo método de e-mail.
Enquanto resolvia problemas com a tarefa rake admin:create, acabei criando um novo usuário administrador. Esse usuário consegue fazer login por senha.
Consegui criar uma conta totalmente nova, e essa conta pôde fazer login por e-mail depois que iniciei o login por senha.
O meu usuário administrador original é com quem estou tendo problemas. Agora mesmo consegui redefinir a senha dele. Isso me permitiu fazer login com senha. Após sair, tentei fazer login por e-mail. Isso gerou o mesmo erro de antes. Quando tentei fazer login por senha novamente, apareceu a mensagem: “Você ainda não pode fazer login. Enviamos anteriormente um e-mail de ativação para você em emailaddress. Siga as instruções nesse e-mail para ativar sua conta.”
Se eu usar meu outro usuário administrador para enviar o e-mail de redefinição de senha novamente, posso repetir o processo e acabar no mesmo lugar.
Estranho. É como se esse usuário estivesse recebendo um link de login com uma data de validade incorreta, mas todos os outros links estão configurados corretamente. Existe alguma tabela que eu possa verificar para dados de links inválidos?
Existe alguma maneira de ativar a depuração ou algo assim para ajudar a rastrear o que está acontecendo?
Ok, agora estou mais confuso. No meu usuário administrador original, redefini a senha novamente para fazer login. Em seguida, adicionei e confirmei um e-mail diferente. Depois, defini esse como principal e removi o outro. Após isso, saí da conta e tentei fazer login novamente por e-mail. Desta vez, funcionou.
A única coisa que consigo pensar é que o e-mail que funciona é aquele que acredito ter configurado lá atrás, quando criei o site pela primeira vez. De alguma forma, durante a solução de problemas, ele foi alterado para um endereço diferente. Ainda não tenho certeza do motivo pelo qual isso causaria erros desse tipo, embora…
De qualquer forma. Talvez alguma das minhas divagações ajude outra pessoa no futuro…