-
CORSミドルウェアを使用する: LaravelはデフォルトでCORS(Cross-Origin Resource Sharing)ミドルウェアを提供しています。このミドルウェアを使用することで、異なるオリジンからのリクエストを許可することができます。
// app/Http/Middleware/VerifyCors.php public function handle($request, Closure $next) { return $next($request) ->header('Access-Control-Allow-Origin', '*') ->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE') ->header('Access-Control-Allow-Headers', 'Content-Type, Authorization'); }
上記の例では、すべてのオリジンからのリクエストを許可しています。必要に応じて、
Access-Control-Allow-Origin
ヘッダーを適切な値に設定することができます。 -
LaravelのCSRFトークンを無効化する: LaravelのCSRF(Cross-Site Request Forgery)トークンがエラーの原因となる場合、以下の手順で無効化することができます。
app/Http/Middleware/VerifyCsrfToken.php
ファイルを開きます。$except
プロパティにoauth/token
エンドポイントを追加します。
// app/Http/Middleware/VerifyCsrfToken.php protected $except = [ 'oauth/token', ];
これにより、
oauth/token
エンドポイントへのリクエストはCSRFトークンの検証をスキップします。 -
ルートのミドルウェアを設定する: Laravelのルートファイルである
routes/web.php
またはroutes/api.php
で、適切なミドルウェアを設定することもできます。// routes/api.php Route::middleware(['cors'])->group(function () { // CORSミドルウェアを適用したいルートを定義する Route::post('oauth/token', 'AuthController@token'); });
上記の例では、
oauth/token
エンドポイントに対してCORSミドルウェアを適用しています。