【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');
}
}
}
この記事が気に入ったらサポートをしてみませんか?