Laravelの APIでセッションを有効にする手順

2022年8月4日木曜日

Laravel PHP

t f B! P L

Laravel APIでセッションを使う

Laravelで api.php に書く APIは、デフォルトではセッションが使えないため、認証情報やセッションの値を条件にデータを取得するような APIを組む時は、セッション機能を有効化してやる必要がある。

[adsense}

APIのセッション有効化

Kernel.php を開き、ミドルウェアグループの api の部分に、以下の行を追記します。

        '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 の中身のファイルを全部けす。

cd storage/framework/sessions
rm *

JSの Feach APIを使っている場合は

Javascirpt標準の Feach APIを使って API呼び出ししている場合は、Cokkie が送信されるように、JS側も修正する必要がある。

const response = await fetch(url);

// ↓修正後

const response = await fetch(url, {credentials: 'same-origin'});
スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ