🤧
【Laravel 8/9】APIでsessionが使えない時の対処法
Laravel 8・9でAPI機能を使用した際にセッションが使えないときの対処法です。
Laravelはバージョンによって全く仕様が変わるのでご注意を(そのせいで結構やられたから備忘録として残す)
Kernel.phpに追記
API機能で暗号化CookieをベースにしたLaravelセッション管理を有効にします。
Kernel.php
'api' => [
// ここから追記
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
// ここまで追記
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
既存セッションをクリア
追記したら、storage\framework\sessions\
ディレクトリに有るファイルを.gitignore以外全部削除。
↑セッションをファイルベースで管理する設定にしている場合のみ
これで反映されてるはず。
迂闊にキャッシュクリア等を怠ってたためやられてました。
※Zennでは別にQiitaに書くまでもない内容をかくかもー
Discussion