Laravel auth API ローカルだと動くのにサーバで動かない
結論
routes/api.phpの書き方がよくなかった。
before
Route::middleware('auth')->group(function () {
// ここに記述するとローカルでは動くが、サーバで動かない
}
after
Route::middleware('auth:api')->group(function () {
// ここに記述すると、ローカルでもサーバでも動く
}
解説
LaravelでAPIが動作しない場合は、いくつか原因があると思います。
自分の場合は、routes/api.phpの書き方が間違っていました。
Route::middleware('auth’)->group(function () {} の中に書くと、なぜかローカルPCでは動きました。そして、本番環境にアップロードすると、動かないという症状に陥りました。
ここに至るまでに、authとapiのコードをそれなりに組み込んでいると思われるので、そちらの設定やその他が原因で動かないことの方が多いと思いますので、不具合の解決のきっかけになれば良い程度の記事です。
動作環境
Laravel 9