У меня проблема с добавлением промежуточного программного обеспечения к существующим маршрутам пакета поставщика. Я создаю API поверх Lumen (фреймворк микросервисов, созданный Laravel). Я использую Passport для аутентификации oauth и импортировал этот пакет: https://github.com/dusterio/lumen-passport для использования паспорта в Lumen. Я реализовал собственный маршрут для запроса токена и хочу заблокировать запросы к существующему маршруту паспорта: / oauth / token. Но мне также нужен маршрут, чтобы перенаправлять запросы токенов с моего пользовательского маршрута. Я попытался переопределить существующий маршрут следующим образом:
$app->post('/oauth/token', [
'middleware' => 'reject',
'uses' => '\Dusterio\LumenPassport\Http\Controllers\AccessTokenController@issueToken'
]);
Но это возвращает мне 500 без отслеживания исключений.
Я использую настраиваемый маршрут для запроса токена, чтобы установить область действия токена в зависимости от роли пользователя. Я использую область видимости для проверки роли пользователя (или приложения с другими типами грантов), обычный маршрут токена Passport должен быть заблокирован для всех, кроме самого Lumen. Только при этом Lumen сможет настраивать прицел.
TL; DR: как добавить промежуточное ПО к пакетным маршрутам в Lumen.