【laravel】 Route [login] not defined.エラー

Jwtで承認APIを組んでいて、logoutを処理を試していたら
Route [login] not defined.というエラーが発生した。

色々調べてみると、存在しないURLやtoken認証が外れたときにサイトへアクセスすると、デフォルトの設定ではLoginルートへ遷移するらしい。
(->name('login')を定義していないとこのエラーが出る)

そこでlogin以外に遷移させたい場合には、app\Http\Middleware\Authenticate.phpを修正する。

※もしくは、どこかのルートに->name('login')を定義しても多分大丈夫?

<?php

namespace App\Http\Middleware;

use Illuminate\Auth\Middleware\Authenticate as Middleware;

class Authenticate extends Middleware
{
    /**
     * Get the path the user should be redirected to when they are not authenticated.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return string|null
     */
    protected function redirectTo($request)
    {
        if (! $request->expectsJson()) {
            //ここのloginを修正
            return route('login');
        }
    }
}

この記事が気に入ったらサポートをしてみませんか?