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'});
0 件のコメント:
コメントを投稿