[Laravel] barryvdh/laravel-corsパッケージでCORS対応する

カテゴリ: Laravel

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
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。