1
到目前爲止,我只從網站使用API(對於AJAX reqeusts),所以我申請了web
中間件,但我打算使用相同的方法和路由構建移動應用程序。
我試圖在\api\
路由上使用auth:api
中間件,但它迫使我在每個請求中使用令牌。
有什麼辦法來區分使用哪種認證,然後應用適當的中間件?我可以在Laravel擁有web和api衛兵嗎?
到目前爲止,我只從網站使用API(對於AJAX reqeusts),所以我申請了web
中間件,但我打算使用相同的方法和路由構建移動應用程序。
我試圖在\api\
路由上使用auth:api
中間件,但它迫使我在每個請求中使用令牌。
有什麼辦法來區分使用哪種認證,然後應用適當的中間件?我可以在Laravel擁有web和api衛兵嗎?
是的,您可以通過不同的URL將不同的中間件應用於相同的控制器/路由。
假設Laravel 5.4,在你RouteServiceProvider.php
然後某處:
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/web.php'));
Route::prefix('api')
->middleware(['auth:api', 'web'])
->namespace($this->namespace)
->group(base_path('routes/web.php'));
注意兩個路由組具有相同的路由文件和相同的命名空間,但第二個有一組不同middlewar和一個URL前綴。
請向我們展示您當前使用的代碼。 – Jerodev