我想知道如何限制Laravel Passport的oauth\clients路由,以及添加客户端的路由。
默认情况下,与客户端相关的路由是不受限制的,因此我的整个Web站点都会因为这个问题而受到攻击并关闭(由一个恶意用户发起,他只是添加了垃圾邮件的客户端)。
我尝试了以下方法,但这两种方法都不起作用:
\Route::middleware('throttle:30,1')->group(function () {
Passport::routes();
});而且还
Passport::routes(null, [
'middleware' => [
'throttle:30,1'
]]);虽然这两种方法都在web,auth前面添加了throttle:30,1 (在使用php artisan转储路由列表时可验证),但任何调用/oauth/client的尝试现在都会导致401未验证错误。
我正在寻找关于如何正确地限制这些客户路由的指导。
发布于 2020-06-25 04:24:49
以下代码起作用了:
Passport::routes();
\Route::group(['middleware' => ['web', 'auth', 'throttle:60,1']], function ($router) {
$router->post('/oauth/clients', [
'uses' => '\Laravel\Passport\Http\Controllers\ClientController@store',
'as' => 'passport.clients.store',
]);
});前面的示例最终将throttle中间件放在auth之前,这出于某种原因破坏了事情。如果你确保油门中间件最后出现,那么它就会起作用。
https://stackoverflow.com/questions/62562134
复制相似问题