甚至有可能在一条路线上有多个中间件。现在,我有我的身份验证的中间件,这是在身份验证默认的Web应用程序,让AJAX请求:网络Laravel Passport API多中间件
Route::post('/user/postAuthUserInfoAjax', [
'uses' => '[email protected]',
'middleware' => ['auth'],
]);
我也希望我的移动应用程序,其中有一个API访问令牌(使用laravel护照)认证一个用户能够访问那些相同的路由。为了做到这一点,我只是在我的中间件中指定了'auth:api'。
Route::post('/user/postAuthUserInfoAjax', [
'uses' => '[email protected]',
'middleware' => ['auth:api'],
]);
唯一的问题是我不能指定多个中间件。我可以使用'auth:api'或'auth:web',但不能同时使用。我想我可以为每个ajax请求提供两个路由,一个用于web应用,另一个用于api请求,但如果我只能使用一个路由,则会更好。
我试过了,但它不起作用。有谁知道如何做到这一点?它甚至有可能
Route::post('/user/postAuthUserInfoAjax', [
'uses' => '[email protected]',
'middleware' => ['auth:web','auth:api'],
]);
现在它可以工作,如果我只有一个控制器和两个不同中间件的路由。所以我不需要有一个基础控制器,然后将它扩展到另外两个不需要的控制器。我想我只是在寻找一种不必复制路线的方法,我可以做一些类似'middleware'=> ['auth:web || auth:api']的路线 –