В своем приложении я реализовал сервер OAuth2 (oauth2-server-laravel) в сочетании с пользовательским пакетом аутентификации ( Sentinel от Cartalyst).
В моих маршрутах.php:
Route::group(['before' => 'oauth'], function()
{
// ... some routes here
}
Таким образом, запрос должен предоставить заголовок авторизации, иначе приложение завершает работу с OAuthException.
Теперь я хочу протестировать свои контроллеры. Поэтому мне нужно заполнить мою базу данных сеансом OAuth и токеном доступа для каждого теста. Затем перезапишите call()
-метод TestCase
и установите заголовок HTTP-авторизации с токеном носителя.
Есть ли способ отключить или обойти промежуточное ПО (в моем случае только для модульного тестирования)?
В Laravel 4 они назывались фильтрами маршрутов и в любом случае были отключены в тестовой среде. Вы также можете вручную включить/отключить их с помощью Route::enableFilters()
.