Lumen:添加中间件以打包定义的路由

时间:2017-05-11 14:45:16

标签: laravel laravel-routing lumen laravel-middleware

我在将中间件添加到供应商包的现有路由时遇到问题。我在Lumen(Laravel创建的微服务框架)之上构建API。我正在使用Passport进行oauth身份验证并导入此程序包:https://github.com/dusterio/lumen-passport以在Lumen中使用Passport。我已经实现了一个自定义路由来请求令牌,并希望阻止对现有护照路由的请求:/ oauth / token。但我自己也需要这条路线,以便从我的自定义路线重定向令牌请求。 我试图像这样覆盖现有的路线:

$app->post('/oauth/token', [
    'middleware' => 'reject',
    'uses' => '\Dusterio\LumenPassport\Http\Controllers\AccessTokenController@issueToken'
]);

但是这会在没有异常追踪的情况下向我投掷500。

我正在使用自定义路由来请求令牌,以便根据用户的角色设置令牌范围。我使用范围来检查用户(或具有其他授权类型的应用程序)的角色,Passport的正常令牌路由应该被阻止给除Lumen self之外的所有人。有了这个,只有流明应该能够设定范围。

TLDR:如何在Lumen中添加中间件来打包已定义的路由。

1 个答案:

答案 0 :(得分:0)

https://github.com/dusterio/lumen-passport的最新合并支持为护照路由添加前缀。

我在我的bootstrap / app.php末尾添加了this.subs = {sub1: subscription1, sub2: subscription2}; 到我的composer.json和"dusterio/lumen-passport": "dev-master",

有关其他信息,请参阅此问题:https://github.com/dusterio/lumen-passport/issues/31