LoginSignup
1
0

Laravelのroute/web.phpの認証をroute/api.phpでも適用する

Last updated at Posted at 2024-03-16

完全honaki用
悪しからず

困っていたこと

Laravel×VueでSPAなwebアプリを作成中に
Laravelの「route/web.php」で行うようなログインなどのユーザー認証をして、ユーザーIDを取得→該当登録者のみに表示などの機能を「route/api.php」でも同じような処理をしたかったが、
「route/api.php」でいつものように「route/web.php」で記載しているログイン系の処理を記載しても401エラーでユーザー情報の取得をできなかった。

解決方法

補足

⭐️の箇所の追記を必ず以下のコードより上にする。
そうしないと「Laravelのroute/web.phpの認証をroute/api.phpでも適用できない」

'throttle:60,1',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
app/Http/Kernel.php
    protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],

        'api' => [
            // ⭐️追記:こいつら5個を絶対上にする
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            
            'throttle:60,1',
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],
    ];

追記

コメントでいただきました通り他の方法があるみたいなので、参考程度にお願いします!

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0