Problemas con CORS en Laravel 10

29/06/2023

Desde hace mucho tiempo siempre estuve usando el siguiente repositorio de fruitcake/laravel-cors para poder realizar toda la comunicación con los CORS, cuando comencé a usar la versión de Laravel 10, note que estaba dando error el paquete al momento de instalar, al investigar un poco sobre lo que pasaba, encontré algunos detalles sobre el problema y en este post te comento y te doy las soluciones.

El paquete llega a las versiones inferiores de Laravel 9, por ello indican que el CORS pasó a ser algo nativo del código de Laravel, por ello podemos hacer la instalación o realizar la siguiente modificación en el código.

Actualización

Si realizaste una actualización a Laravel 10, puedes aplicar la siguiente configuración.

Quitar "fruitcake/laravel-cors"de tu composer.json

Reemplazar \Fruitcake\Cors\HandleCors::class,con \Illuminate\Http\Middleware\HandleCors::class,enapp/Http/Kernel.php

Si quieres aplicar configuracion avanzada : https://github.com/fruitcake/php-cors

Instalación en Laravel 10

En la terminal colocamos lo siguiente.

php artisan make:middleware Cors

Buscamos el siguiente archivo : app/Http/Middleware/Cors.php y aplicamos la siguiente configuración

  public function handle($request, Closure $next)
  {
    return $next($request)
      ->header("Access-Control-Allow-Origin", "http://blancofelix.com")
      ->header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE")
      ->header("Access-Control-Allow-Headers", "X-Requested-With, Content-Type, X-Token-Auth, Authorization"); 
  }

Registramos el middleware en app/Http/kernel.php

protected $routeMiddleware = [
  "cors" => \App\Http\Middleware\Cors::class,
 ];

Ahora podemos ir a las rutas y aplicar el siguiente middleware

Route::group(['middleware' => ['cors']], function () {
    //Rutas a las que se permitirá acceso
});

Categorias

Otros Post

CONTACTAME

Si deseas que desarrolle tu aplicación o tienes alguna duda, puedes comunicarte por medio de mis redes sociales, como también por mi email personal YO@BLANCOFELIX.COM y con gusto te atenderé.