私のアプリケーションでは、OAuth2-Server ( oauth2-server-laravel ) をカスタム認証パッケージ ( Sentinel by Cartalyst ) と組み合わせて実装しました。
私のroutes.phpでは:
Route::group(['before' => 'oauth'], function()
{
// ... some routes here
}
そのため、リクエストは認証ヘッダーを提供する必要があります。そうしないと、アプリケーションは OAuthException で終了します。
今、私は自分のコントローラーをユニットテストしたいと思っています。そのため、テストごとに OAuth セッションとアクセス トークンをデータベースにシードする必要があります。call()
次に、のメソッドを上書きしTestCase
、HTTP-Authorization ヘッダーを Bearer Token で設定します。
ミドルウェアを無効化またはバイパスする方法はありますか (私の場合は単体テスト用です)?
Laravel 4 ではルート フィルターと呼ばれていましたが、いずれにせよテスト環境では無効にされていました。で手動で有効/無効にすることもできますRoute::enableFilters()
。