Включение CORS в приложении PHP Laravel: методы и примеры кода

Вот несколько способов установить заголовок «Access-Control-Allow-Origin» в приложении Laravel:

Метод 1: установка заголовка в промежуточном программном обеспечении

// Create a new middleware class
php artisan make:middleware AddCorsHeaders
// Open the middleware file and add the following code
<?php
namespace App\Http\Middleware;
use Closure;
class AddCorsHeaders
{
    public function handle($request, Closure $next)
    {
        $response = $next($request);

        $response->header('Access-Control-Allow-Origin', '*');
        $response->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
        $response->header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
        return $response;
    }
}
// Register the middleware in app/Http/Kernel.php
protected $middleware = [
    // ...
    \App\Http\Middleware\AddCorsHeaders::class,
];

Метод 2. Использование пакета (например, “barryvdh/laravel-cors”)

// Install the package
composer require barryvdh/laravel-cors
// Add the following line to config/app.php in the 'providers' array
Barryvdh\Cors\ServiceProvider::class,
// Publish the configuration file
php artisan vendor:publish --provider="Barryvdh\Cors\ServiceProvider"
// Open the config/cors.php file and modify the configuration as needed
return [
    'paths' => ['api/*'],
    'allowed_methods' => ['*'],
    'allowed_origins' => ['*'],
    'allowed_origins_patterns' => [],
    'allowed_headers' => ['*'],
    // ...
];

Это всего лишь несколько способов включить CORS в приложении Laravel. Вы можете выбрать метод, который лучше всего соответствует требованиям вашего проекта.