Oi Lourdilene! Tudo bem com você? Espero que sim.
Peço desculpa pela demora para responder o seu tópico.
Existem algumas possíveis razões pelas quais você está recebendo esse erro, mesmo após ter implementado corretamente o @csrf
em seu formulário. Aqui estão algumas soluções que você pode tentar:
1 - Tenha certeza que você tem a diretiva @csrf dentro da tag <form>
em seu arquivo de visualização. Verifique se você não removeu acidentalmente essa diretiva ou a moveu para outro lugar.
2 - Verifique se o middleware VerifyCsrfToken
está habilitado em sua rota. Você pode encontrar o arquivo de "middleware" em "app/Http/Middleware/VerifyCsrfToken.php". Certifique-se de que as rotas que estão gerando o erro estejam excluídas do "middleware", caso contrário, o token CSRF será verificado e, se expirado, resultará no erro 419.
3 - O valor do token CSRF está sendo enviado corretamente com o formulário? Você pode verificar isso inspecionando o código-fonte da página e procurando a meta tag com o nome "csrf-token". Certifique-se de que o valor do token corresponda ao valor que está sendo enviado no formulário.
4 - Certifique-se de que a data e a hora em seu computador estejam configuradas corretamente. Se a data e a hora estiverem muito desatualizadas, o token CSRF pode expirar instantaneamente, resultando no erro 419.
Em relação à sua pergunta sobre ser um bug no Laravel 9, é difícil dizer sem mais informações. No entanto, é improvável ser um problema específico do Laravel 9, já que a funcionalidade CSRF existe há várias versões e é amplamente utilizada sem problemas. Geralmente, erros 419 Page Expired estão relacionados a configurações ou implementações específicas.
Espero que essas soluções possam ajudá-lo a resolver o problema. Caso tenha mais dúvidas ou problemas, estarei à disposição.
Grande abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.