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.
- Pressione F5 ou Ctrl+R
Isso recarrega a página atual. O Mastodon gera um novo token CSRF quando a página carrega. - 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.
- 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. - Clique em Sair na parte inferior da página Conta
Você será redirecionado para a página de login do Mastodon. - Digite seu e-mail e senha e clique em Entrar
O Mastodon cria uma nova sessão com um token CSRF válido. - 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.
- 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. - 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. - 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. - 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.
- Abra o gerenciador de extensões do seu navegador
No Chrome, digitechrome://extensionsna barra de endereços. No Firefox, digiteabout:addons. No Edge, digiteedge://extensions. - Desative todas as extensões
Desative cada extensão. Não as desinstale. - 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.
- Abra uma janela privada
No Chrome, pressione Ctrl+Shift+N. No Firefox, pressione Ctrl+Shift+P. No Edge, pressione Ctrl+Shift+N. - Acesse sua instância do Mastodon e faça login
Use seu e-mail e senha. - 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.
- 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; - Recarregue o Nginx
Executesudo systemctl reload nginxousudo nginx -s reload. - 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.