【Laravel】No 'Access-Control-Allow-Origin' header is present on the requested resource.

by dicekest,

環境

  • PHP 7.2.13
  • Laravel 5.8.7

インストール

今回はbarryvdh/laravel-corsのライブラリを使ってCORS対応をしていきます

barryvdh/laravel-cors

設定

app/Http/Kernel.php に設定を追加

protected $middlewareGroups = [
    'web' => [
       // ...
    ],

    'api' => [
        // ...
        \Barryvdh\Cors\HandleCors::class,
    ],
];

config/cors.php CORS設定ファイルを生成

$ php artisan vendor:publish --provider="Barryvdh\Cors\ServiceProvider"

デフォルトだとallowedOriginsが全てに対して許可されているので 特定のルールを設定したい場合には変更する

確認

リクエストを送ってHTTP/1.1 200 OKが返って来ればOK 403 Forbiddenが返ってくる場合は設定できていない

curlの場合

$ curl -X GET -I -H "Origin: http://sample.jp" {テストするURL}