Middlewareアクションの設定


質問する


中間パケット(「auth:api」)に入る経路については、中間パケットがフィルタリングされたときにException処理を実行する必要がある. 
/* routes/api.php */
Route::middleware('auth:api')->group(function(){
	/* Routes.. */
});
 (現在laravel passportでauth処理中です.)

解決する


Middleware/Authenticate.phpの変更
Authenticate.phpは、例外処理時にどこにリダイレクトすべきかを定義します.
以前はreturn route(「login」)だったので、ミドルウェアからフィルタリングすると常にlogin routeが見つかります.
そこで以下のようにルートを修正しました.

このとき気をつけて!
この関数から直接応答を送信することはできません. 
最初の変更時に応答を返します()->json();フォーマットで入れたもので、
ErrorException: Header may not contain more than a single header, new line detected in file/../vendor/symfony/http-foundation/Response.php on line 359
こんなエラーが発生しました.ううう
頑張ってグーグルをやっていたら、ここに返信形式の返信がないことに気づいたので、別のルートに変更しましたが、
このルーティングに動作を設定し、終了!
Middlewareに触ったのは初めてです.
Googleはなく、ミドルウェアフォルダで認証を行うだけです.php触って解決…! 
思ったよりずっと簡単でした(●‘◡’●)