Olá! Procurei uma resposta para esse problema, mas não encontrei nada. Sou administrador do nosso fórum e geralmente faço login usando autenticação do Google. Queria alterar meu endereço de e-mail e iniciei o processo na página de preferências. O primeiro e-mail de confirmação chegou ao meu endereço atual e eu confirmei — tudo certo até aqui. Foi informado que um e-mail de confirmação seria enviado para o novo endereço. O segundo e-mail de confirmação chegou ao novo endereço, mas ao clicar no link de confirmação, apareceu o seguinte no navegador:
Oops! Essa página não existe ou é privada.
O processo resulta no meu e-mail antigo ainda estando ativo na minha conta.
Pode ser que eu esteja passando por uma experiência semelhante. Sou administrador do nosso fórum. Alterei meu endereço de e-mail e recebi o e-mail de verificação — tudo certo até aqui. Ao voltar ao fórum, fui logado automaticamente. Verifiquei minhas configurações: os e-mails do fórum estão configurados para meu novo endereço, no entanto… o e-mail de login permanece o mesmo do registro original. Fiz algumas verificações e descobri que preciso acessar minha conta de administrador com o mesmo endereço usado no momento do registro inicial. Se fizer logout completo e tentar logar novamente com meu novo e-mail, recebo a mesma mensagem de erro que você.
Verifique suas preferências para ver se o endereço de e-mail para receber mensagens do fórum está configurado para seu novo endereço. Provavelmente está. Mas aposto que o endereço usado para login ainda é o que você utilizou ao configurar sua conta de administrador pela primeira vez.
Talvez @dax ou outro membro da equipe possa explicar se esse é o comportamento esperado ou se o e-mail de login do administrador precisa ser redefinido de outra forma.
Testei o processo de alteração de e-mail de administrador na versão mais recente do Discourse que passou nos testes. Eu tinha a autenticação do Google configurada, além das credenciais de login normais. Testei usando dois navegadores diferentes (Safari e Chrome) e tudo parece estar funcionando como eu esperava.
Também tentei em um site do Discourse baseado em um commit com cerca de 11 dias. Essa conta de administrador tinha o login padrão configurado com 2FA ativado. O processo mudou um pouco desde esse commit, mas ainda funciona bem.
Se alguém continuar encontrando esse problema quando o site do Discourse estiver totalmente atualizado, por favor, poste como reproduzir passo a passo, junto com detalhes relevantes do navegador (versão, sistema operacional, navegador padrão versus plugins instalados). Se você está hospedado por nós e isso está ocorrendo ativamente, entre em contato pelo canal de suporte habitual e trabalharemos diretamente com você para entender o que está acontecendo.
No meu Painel, alterei meu endereço de e-mail para um novo.
Recebi o e-mail do software do fórum e cliquei no link para verificar.
Ao verificar o Painel, meu endereço de e-mail foi alterado para refletir o novo. Isso aparece em Faturamento.
Meu novo endereço também recebe as notificações de novos tópicos/postagens.
Ao verificar minhas Preferências do Usuário/Conta (para fazer login), ainda aparece o endereço de e-mail original usado quando iniciei o fórum pela primeira vez.
Editei o endereço de e-mail ali para o meu novo endereço.
Cliquei em Salvar Alterações e saí.
Mais tarde, verifiquei novamente e o endereço de e-mail original aparecia de novo.
Sempre que faço login, a mensagem de login diz para usar o endereço usado para configurar o Discourse. Por isso, não me incomodei em reportar o problema, achando que era por segurança. Além disso, meu novo endereço de e-mail recebe o que deveria — notificações, recibos de faturamento, etc.
(De qualquer forma, ainda tenho acesso à minha caixa de entrada antiga.)
Desculpe, não estávamos falando de e-mails hospedados. Estávamos falando de usuários (especificamente administradores) iniciando uma alteração de e-mail em suas contas por meio da mesma página de edição de conta que todos os usuários veem ao alterar seu e-mail.
É aí que reside o meu problema. Sou um administrador. Não consigo alterá-la nessa página. Vou às preferências da minha conta de usuário, altero o endereço de e-mail, clique em salvar, recebo a notificação de que um e-mail de verificação foi enviado e saio. Quando clico no link e sou levado à tela de login, insiro meu novo endereço de e-mail e recebo uma notificação para fazer login usando o endereço usado no primeiro cadastro. A alteração de e-mail nunca foi salva. Voltou ao endereço original com o qual me cadastrei.
Por outro lado, se eu usar um endereço de e-mail de um domínio diferente que possuo — em vez de um com o mesmo domínio do fórum — isso funcionaria? De qualquer forma, não é um problema para mim. Posso deixar como está.
Removi minha autenticação do Google caso isso fosse parte do problema. Para reproduzir o problema, gravei este screencast de 94 segundos com meus passos:
@David_Baker1, obrigado por dedicar seu tempo para montar o vídeo. Assisti e segui cuidadosamente as instruções no Chrome. Tudo funcionou perfeitamente, então deve haver algo específico no seu ambiente. Algumas perguntas para considerar:
Há algum erro relevante na seção /logs do seu site?
Você está usando alguma extensão do navegador Chrome? Se sim, pode tentar o mesmo processo em outro navegador?
Você tem algum plugin não oficial do Discourse instalado?
Se isso algum dia se tornar um problema, fique à vontade para nos enviar um e-mail e veremos se podemos resolver diretamente para você. Esta é a primeira vez que ouço sobre o problema que você descreveu.
Hmm, que estranho! Parece que sua configuração é bastante padrão. Vou dar mais uma olhada com algumas ideias novas quando tiver uma oportunidade na próxima semana. Além disso, estou sem ideias, já que não consigo reproduzir o problema.
Olá novamente — após investigar mais, encontrei algo que pode indicar a causa. Nas minhas configurações/preferências da conta, meu e-mail está listado como o endereço que desejo alterar. No entanto, se clicar no botão Admin no canto superior direito dessa visualização e rolar até o final, em Configurações SSO, aparece o endereço de e-mail que quero alterar para. Era o endereço que usei quando configuramos o Discourse pela primeira vez. Entrementes, consegui um novo emprego e alterei o e-mail da minha conta. Agora, porém, gostaria de alterá-lo de volta.
Parece que, atualmente, dois e-mails diferentes estão associados à minha conta.
Isso pode indicar a possível causa desse problema?
O endereço de e-mail para o qual você está tentando atualizar pode já ser o e-mail “secundário” da sua conta. Se for esse o caso, você precisará excluir o e-mail secundário antes de poder atualizar seu e-mail principal.
Como administrador do site, você pode confirmar se o e-mail é o seu e-mail secundário acessando sua página de administração e clicando no botão Mostrar na linha de E-mails Secundários:
Essa é exatamente a minha situação. No Admin, meu e-mail mostra o que eu queria mudar, mas nas minhas preferências de usuário ele está travado no endereço original que usei para fazer o primeiro login. Eu também tenho dois e-mails diferentes associados à minha conta… ou o usuário e o Admin são considerados duas contas diferentes?
Acabei de verificar novamente. Não há nenhuma conta de e-mail secundário aparecendo no Painel de Admin.
Apenas para garantir que não seja esse o problema, você é um administrador do site? Moderadores não verão os campos de e-mail a menos que a configuração “moderadores visualizam e-mails” esteja habilitada. Ela vem desabilitada por padrão.
Se você tiver acesso ao console do Rails para seu site, poderá verificar se o endereço de e-mail que você está tentando atualizar já está em uso executando o seguinte comando com o e-mail desejado:
UserEmail.where(email: 'seuemail@exemplo.com')
Se o plugin Data Explorer estiver instalado em seu site, você pode verificar isso por meio de uma consulta do Data Explorer, sem precisar usar o console.
Se algum resultado for retornado, esse será o motivo do problema. No entanto, o fato de o endereço de e-mail que você está tentando atualizar já existir em um registro de Single Sign On não deve causar nenhum problema.
EDIT: Encontrei. user_notifications.confirm_new_email.text_body_template estava sobrescrevendo a URL.
Você pode ignorar o resto.
Olá, Simon. Obrigado pela sua ajuda.
Aqui está o problema:
Está enviando e-mails de “confirme seu novo endereço de e-mail” com links como https://forum.xx.org/users/authorize-email/c7ed779eb28c049ec4a5105dd9e07013 em vez de https://forum.xx.org/u/confirm-new-email/c15d4bc33211e586b70572195f7dac89.
Se eu reescrever o link para usar a URL correta e o token, funciona perfeitamente, mas, por algum motivo, está enviando o estilo antigo de link e não o novo! (Fiz isso duas vezes, uma vez depois de executar o grep e reinício descritos abaixo.)
Acabei de fazer um ./launcher rebuild e ainda está enviando links com o formato antigo. Como anunciado, apenas plugins oficiais e sólidos estão instalados.
E então entro no contêiner e, em /var/www/discourse, executo um grep -r authorize-email, que não encontra nenhum arquivo. Em seguida, reiniciei.
Estou bastante confuso, pelo menos pela segunda vez em 24 horas.