質問: 現在、Lravelにて管理者ユーザーのみがアクセスできるページを作成しようとしています。 http://kzkohashi.hatenablog.com/entry/2018/08/14/081023 上記ページを参考に ``` Route::group(["middleware"=>["auth:api","administrator"]], function () { Route::get('/laboratory/admin', 'AdminController@index'); }); ``` とルーティングをしてみたのですが、auth:apiが呼ばれるのみで、administratorで指定したMiddlewareが動かず、 その理由の検討をつきかねております。 その理由にお心当たりのある方、よろしければ教えて頂けると幸いです。 ---試したこと ●単純にauth:apiの指定を失くす。すると、administratorで指定したMiddlewareがコールされた。 ●auth:apiの代わりにauthと指定すると理想通りの結果にはなった。しかしauth:apiとの違いが分からない。 ---環境 laravel 5.8.8 vagrant homestead
回答: いつものことだけど変なブログを参考にするから間違う。 見るべきは公式情報だけ。 公式以外は全部間違ってると思っていい。 公式を見ればそもそもミドルウェア作る必要がないと分かるけど なるべく今のまま進めるなら`auth`にすればいい。 なんで`auth:api`なのか知らないけどただの間違い。