Como Resolver o Erro ‘CSRF Token Mismatch’ no Mastodon ao Enviar Formulários
🔍 WiseChecker

Como Resolver o Erro ‘CSRF Token Mismatch’ no Mastodon ao Enviar Formulários

Ao tentar enviar um formulário no Mastodon, como publicar um toot, alterar configurações da conta ou fazer login, você pode ver o erro CSRF Token Mismatch. Esse erro significa que o token de segurança que verifica sua solicitação está ausente ou não corresponde ao que o servidor espera. A causa geralmente é uma sessão desatualizada do navegador, um proxy reverso mal configurado ou um token de autenticação expirado. Este artigo explica por que o erro ocorre e fornece etapas claras para resolvê-lo.

CSRF significa Cross-Site Request Forgery. O Mastodon protege sua conta incorporando um token único em cada formulário. Se esse token for inválido, o servidor rejeita o envio. Você verá o erro em praticamente qualquer envio de formulário, desde enviar um toot até atualizar seu perfil.

Siga as etapas abaixo para corrigir o problema. Na maioria dos casos, você pode resolver sem entrar em contato com o administrador da sua instância.

Resumo: Corrigindo o Erro CSRF Token Mismatch no Mastodon

  • Limpe cookies e cache do navegador: Remove dados de sessão antigos que causam incompatibilidade de token.
  • Faça logout e login novamente: Renova o token CSRF armazenado na sua sessão.
  • Desative extensões problemáticas do navegador: Extensões que bloqueiam scripts ou modificam cabeçalhos podem remover o token CSRF dos formulários.

Por que o Mastodon Mostra o Erro CSRF Token Mismatch

O Mastodon usa um token CSRF para verificar se cada envio de formulário vem de você e não de um terceiro malicioso. O token é gerado quando você carrega uma página e está vinculado à sua sessão. Quando você envia o formulário, o Mastodon compara o token na solicitação com o armazenado na sua sessão. Se eles não corresponderem, o servidor retorna o erro CSRF Token Mismatch.

As causas comuns incluem:

  • Sua sessão do navegador expirou ou o token foi rotacionado enquanto você preenchia um formulário.
  • Seu navegador armazenou em cache uma página antiga com um token desatualizado.
  • Um proxy reverso ou camada de cache (como Nginx ou Cloudflare) está armazenando páginas em cache e servindo tokens expirados.
  • Uma extensão do navegador está bloqueando ou modificando o campo do token.
  • Sua instância do Mastodon tem uma chave secreta base mal configurada.

O erro pode aparecer em qualquer formulário: login, cadastro, postagem, edição de perfil ou alteração de configurações. Não é específico de uma ação.

Etapas para Corrigir o Erro CSRF Token Mismatch

Tente os métodos a seguir em ordem. Comece com as correções mais simples que não exigem acesso de administrador.

Método 1: Atualize a Página e Reenvie

Às vezes, o token expirou enquanto você digitava. Atualizar a página carrega um token novo.

  1. Pressione F5 ou Ctrl+R
    Isso recarrega a página atual. O Mastodon gera um novo token CSRF quando a página carrega.
  2. Preencha o formulário novamente e envie
    Não use o botão voltar do navegador. Use a página atualizada.

Método 2: Faça Logout e Login Novamente

Fazer logout limpa sua sessão e invalida o token antigo. Fazer login cria uma nova sessão com um token novo.

  1. Vá em Preferências > Conta
    Clique no menu de hambúrguer (três linhas horizontais) no canto superior esquerdo e selecione Preferências. Na página de Preferências, clique em Conta na barra lateral esquerda.
  2. Clique em Sair na parte inferior da página Conta
    Você será redirecionado para a página de login do Mastodon.
  3. Digite seu e-mail e senha e clique em Entrar
    O Mastodon cria uma nova sessão com um token CSRF válido.
  4. Navegue até o formulário que estava usando e envie novamente
    O erro não deve mais aparecer.

Método 3: Limpe Cookies e Cache do Navegador

Cookies desatualizados ou páginas em cache podem armazenar um token antigo. Limpá-los força o navegador a buscar uma página nova e um token novo.

  1. Abra as configurações do seu navegador
    No Chrome, clique no menu de três pontos e selecione Configurações. No Firefox, clique no menu de hambúrguer e selecione Configurações. No Edge, clique no menu de três pontos e selecione Configurações.
  2. Vá em Privacidade e Segurança
    No Chrome, clique em Privacidade e segurança na barra lateral esquerda. No Firefox, clique em Privacidade e Segurança. No Edge, clique em Privacidade, pesquisa e serviços.
  3. Limpe os dados de navegação
    No Chrome, clique em Limpar dados de navegação. Selecione Cookies e outros dados do site e Imagens e arquivos em cache. Defina o intervalo de tempo como Todo o período. Clique em Limpar dados. No Firefox, clique em Limpar dados, marque Cookies e Dados de Site e Conteúdo Web em Cache, depois clique em Limpar. No Edge, clique em Escolher o que limpar, selecione Cookies e outros dados do site e Imagens e arquivos em cache, depois clique em Limpar agora.
  4. Reinicie o navegador e faça login no Mastodon novamente
    O erro CSRF Token Mismatch deve ser resolvido.

Método 4: Desative Extensões do Navegador Temporariamente

Extensões que bloqueiam scripts, modificam cabeçalhos ou gerenciam cookies podem remover o token CSRF dos formulários. Teste com todas as extensões desativadas.

  1. Abra o gerenciador de extensões do seu navegador
    No Chrome, digite chrome://extensions na barra de endereços. No Firefox, digite about:addons. No Edge, digite edge://extensions.
  2. Desative todas as extensões
    Desative cada extensão. Não as desinstale.
  3. Reinicie o navegador e tente enviar o formulário novamente
    Se o erro desaparecer, reative as extensões uma por uma para identificar a culpada. Mantenha a extensão problemática desativada ou ajuste suas configurações para permitir o Mastodon.

Método 5: Use uma Janela Privada ou Anônima

Uma janela privada inicia com uma sessão limpa e sem dados em cache. Isso isola o problema do seu perfil de navegação normal.

  1. Abra uma janela privada
    No Chrome, pressione Ctrl+Shift+N. No Firefox, pressione Ctrl+Shift+P. No Edge, pressione Ctrl+Shift+N.
  2. Acesse sua instância do Mastodon e faça login
    Use seu e-mail e senha.
  3. Envie o formulário que anteriormente mostrava o erro
    Se funcionar no modo privado, o problema está relacionado ao cache, cookies ou extensões do seu perfil normal do navegador.

Método 6: Verifique a Configuração do Proxy Reverso (Apenas Administrador da Instância)

Se você administra sua própria instância do Mastodon, um proxy reverso mal configurado (Nginx, Apache ou Cloudflare) pode armazenar páginas em cache e servir tokens CSRF desatualizados. Certifique-se de que páginas dinâmicas não sejam armazenadas em cache.

  1. Edite o arquivo de configuração do Nginx
    Localize o bloco do servidor para o seu domínio do Mastodon. Adicione ou modifique as seguintes linhas para desabilitar o cache de conteúdo dinâmico:
    proxy_no_cache 1;
    proxy_cache_bypass 1;
  2. Recarregue o Nginx
    Execute sudo systemctl reload nginx ou sudo nginx -s reload.
  3. Teste o envio do formulário novamente
    Limpe o cache do navegador antes de testar.

Se o Mastodon Ainda Mostrar o Erro CSRF Token Mismatch

O erro persiste em todos os navegadores e dispositivos

Se o erro ocorrer em vários navegadores e dispositivos, o problema provavelmente está no servidor. Entre em contato com o administrador da sua instância. O administrador deve verificar os logs do Mastodon em busca de erros relacionados a CSRF e verificar se a variável de ambiente SECRET_KEY_BASE está configurada corretamente. Se a chave secreta base foi alterada recentemente, todas as sessões existentes se tornam inválidas. O administrador pode regenerar a chave e reiniciar os serviços do Mastodon.

O erro aparece apenas no formulário de login ou cadastro

Um proxy reverso ou CDN pode estar armazenando a página de login em cache. O administrador deve garantir que a página de login não seja armazenada em cache. No Nginx, adicione add_header Cache-Control "no-store"; ao bloco de localização da página de login.

O erro aparece após usar o botão voltar do navegador

O botão voltar carrega uma página em cache com um token antigo. Não use o botão voltar para retornar a um formulário. Em vez disso, atualize a página ou navegue até o formulário novamente usando a interface do Mastodon.

CSRF Token Mismatch vs Outros Erros de Autenticação no Mastodon

Item CSRF Token Mismatch Sessão Expirada
Mensagem de erro CSRF Token Mismatch Sua sessão expirou. Faça login novamente
Quando aparece Ao enviar formulário Ao carregar página ou enviar formulário
Causa raiz Token ausente ou não corresponde Cookie de sessão expirou ou foi excluído
Solução Atualizar página, limpar cache ou fazer logout e login Fazer login novamente
Causa no servidor Proxy reverso mal configurado ou chave secreta base alterada Tempo limite de sessão muito baixo

Agora você sabe como corrigir o erro CSRF Token Mismatch no Mastodon. Comece atualizando a página ou fazendo logout e login novamente. Se o erro persistir, limpe o cache do navegador e desative extensões. Para problemas no servidor, verifique a configuração do proxy reverso e a chave secreta base. Como dica avançada, administradores de instância podem definir a variável de ambiente RAILS_MAX_REQUESTS para controlar quantas solicitações um processo manipula antes de reiniciar, o que pode evitar a desatualização de tokens em instâncias de alto tráfego.