我们安装了带有Tymon Jwt -package的Lumen安装程序,当我们使用“ auth:api”作为中间件名称在routes文件中实现中间件时,它运行良好。
但是,我们希望将该中间件自动添加到所有路由,并且仅将几条路由列入白名单以将其跳过。怎么做?其他全局中间件已安装在bootstrap / app.php中,但如果要使用auth:api -middleware,我们将找不到正确的类来调用。
我想这很简单,但是找不到。
答案 0 :(得分:0)
要将其应用于所有路线,use a global middleware:
如果您希望在对应用程序的每个HTTP请求期间运行中间件,只需在对
$app->middleware()
文件的bootstrap/app.php
方法的调用中列出中间件类:$app->middleware([ App\Http\Middleware\OldMiddleware::class ]);
tymon/jwt-auth
提供了several possible Tymon\JWTAuth\Http\Middleware
middleware classes供您使用。选择最适合您的方案。
(在这种情况下,您的中间件可以在内部免除某些路由,可能使用类似Request::is('foo/*')
之类的东西)。
要将其应用于大多数(但不是全部)路由,请将相关路由放入路由组:
$router->group(['middleware' => 'auth:api'], function () use ($router) {
// most of your routes go here
});
// the handful of non-auth routes go here