LaravelでCORS処理を行いたい場合、barryvdh/laravel-corsパッケージを使うと便利です。
作業手順
パッケージのインストール
composer require barryvdh/laravel-cors
middlewareの有効化
vi app/Http/Kernel.php
開いたKernel.phpへmiddlewareに追加する (apiのアクセスだけ有効化する場合は、middlewareGroupsのapiに追加)
\Fruitcake\Cors\HandleCors::class,
artisanコマンドでconfigファイルの雛形を作る
php artisan vendor:publish --tag="cors"
corsを有効にするAPIを決める
config/cors.phpを編集し、pathsに追記(とりあえず動作テストでなんでもOKにしたい場合は、['*']にすると全てのアクセスで有効になる)
vi config/cors.php
/*
* You can enable CORS for 1 or multiple paths.
* Example: ['api/*']
*/
'paths' => [],
テスト
example.comからのアクセスであることを装い、curlでAPIリクエストを発行する
curl -X POST --silent \
-I 'Content-Type: application/json' \
--header 'Origin: http://example.com' \
http://localhost:8000/api/user | grep Access
結果に下記の1行が出ればOK
Access-Control-Allow-Origin: http://example.com
こちらもおススメ