Я пытаюсь реализовать библиотеку JWT для API, над которым я работаю, и я хочу, чтобы иметь возможность обертывать всю группу маршрутов API в проверки токенов с небольшим количеством исключений. Проблема, с которой я сталкиваюсь, не специфична для JWT.Laravel 5.1 Передача параметров промежуточному программному обеспечению с группами маршрутов
В конструкторе контроллера, когда я применяю промежуточное программное обеспечение, я могу использовать этот синтаксис для применения jwt.auth ко всему контроллеру и исключить конечную точку «authenticate».
public function __construct()
{
// Apply the jwt.auth middleware to all methods in this controller
// except for the authenticate method. We don't want to prevent
// the user from retrieving their token if they don't already have it
$this->middleware('jwt.auth', ['except' => ['authenticate']]);
}
Когда я пытаюсь сделать то же самое в моей группе маршрутов я не могу получить «исключение» массив правильно передать. Это заставляет метод аутентификации требовать токен (который он не может требовать, потому что конечная точка RETRIEVE обозначает токен).
Route::group(['prefix' => 'api', 'middleware' => 'jwt.auth', 'except' => ['authenticate']], function()
{
Route::resource('authenticate', 'AuthenticateController', ['only' => ['index']]);
Route::post('authenticate', '[email protected]');
});
У меня есть чувство, что это проблема синтаксиса, но я не могу найти кого-нибудь еще, задавая этот вопрос, и синтаксический анализатор не подавиться, она просто не работает. Любая помощь приветствуется!
Ах, ладно, это должно работать нормально. Наверное, я смотрел на него наизнанку. Спасибо, что разъяснил, что один для меня! – Shane
Вы забыли закрыть «[» в своей второй декларации группы – llioor
Спасибо @llioor, обновлено. –