Solución:
Si llega a esta respuesta directamente desde una búsqueda, asegúrese de haber agregado el token csrf a su formulario con {{ csrf_field() }}
como el OP.
Si tiene el controlador de sesión configurado para archivar:
Puede tener algo que ver con que storage_path no se pueda escribir. Aquí es donde almacena los datos de la sesión con respecto a los tokens si está utilizando sesiones basadas en archivos. El se puede verificar con is_writable(config('session.files'))
Para el OP, el controlador de sesión se configuró en array. Array es solo para pruebas. Dado que los datos no se conservan, no podrá comparar el token en la siguiente solicitud.
El controlador de matriz se utiliza durante las pruebas y evita que los datos almacenados en la sesión se conserven.
https://laravel.com/docs/5.5/session#configuration
Compruebe config / session.php
Por último, un problema que acabo de tener, teníamos un proyecto que tiene el dominio de sesión y la configuración segura en config / session.php pero el sitio de desarrollo no usaba HTTPS (SSL / TLS). Esto provocó este error genérico ya que session.secure se estableció en true de forma predeterminada.
Me encontré con el mismo problema en Laravel 5.5. En mi caso, sucedió después de cambiar una ruta de GET a POST. El problema fue porque olvidé pasar un token CSRF cuando cambié a POST.
Puede publicar un token CSRF en su formulario llamando a:
{{ csrf_field() }}
O excluya su ruta en la aplicación / Http / Middleware / VerifyCsrfToken.php
protected $except = [
'your/route'
];
Pruébalos todos.
composer dump-autoload
php artisan optimize
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear