From f51d5ffd151eac461ef927cc8e1d8bec006cc611 Mon Sep 17 00:00:00 2001 From: Paras Malhotra Date: Thu, 13 Dec 2018 15:12:04 +0530 Subject: [PATCH 1/4] Allow passing of array values in middleware config --- src/ToolServiceProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ToolServiceProvider.php b/src/ToolServiceProvider.php index a03813c..e012bf5 100644 --- a/src/ToolServiceProvider.php +++ b/src/ToolServiceProvider.php @@ -51,7 +51,7 @@ protected function routes() return; } - Route::middleware([config('nova-impersonate.middleware.base')]) + Route::middleware(config('nova-impersonate.middleware.base')) ->prefix('nova-impersonate') ->group(__DIR__ . '/../routes/api.php'); From f2dd97878fc5fcc7d38dc0913066a8bd06634843 Mon Sep 17 00:00:00 2001 From: Brian Dillingham Date: Sun, 23 Dec 2018 21:44:17 -0500 Subject: [PATCH 2/4] add event documentation --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index f84c0b8..50acc55 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,18 @@ Please make sure to pass instance Model or Nova Resource ``Impersonate::make($th return $this->can_be_impersonated == 1; } ``` +--- + +#### Events + +You can hook onto the underlying package events + +May be userful for things like setting session data + +- `Lab404\Impersonate\Events\TakeImpersonation` +- `Lab404\Impersonate\Events\LeaveImpersonation` + +--- You can optionally publish the config file with: ```bash From c05879c734c09cf741cc42f8ec13c2828868f1ac Mon Sep 17 00:00:00 2001 From: pravk Date: Sun, 30 Dec 2018 12:03:08 +0530 Subject: [PATCH 3/4] Update Impersonate.php reversing the order check to prevent 419 errors in case of multi auth guard scenario --- src/Http/Middleware/Impersonate.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Http/Middleware/Impersonate.php b/src/Http/Middleware/Impersonate.php index bbdc40f..f87d9c0 100644 --- a/src/Http/Middleware/Impersonate.php +++ b/src/Http/Middleware/Impersonate.php @@ -27,9 +27,9 @@ public function handle($request, $next) $manager = app()->make(ImpersonateManager::class); if ( - auth()->check() && - $manager->isImpersonating() && + + auth()->check() && !($response instanceof RedirectResponse) && From 501f245b3088efb527f05e934873cf0cf29ef747 Mon Sep 17 00:00:00 2001 From: Georges KABBOUCHI Date: Sun, 30 Dec 2018 13:07:09 +0200 Subject: [PATCH 4/4] use array_wrap for middleware --- src/ToolServiceProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ToolServiceProvider.php b/src/ToolServiceProvider.php index e012bf5..88468fe 100644 --- a/src/ToolServiceProvider.php +++ b/src/ToolServiceProvider.php @@ -51,7 +51,7 @@ protected function routes() return; } - Route::middleware(config('nova-impersonate.middleware.base')) + Route::middleware(array_wrap(config('nova-impersonate.middleware.base'))) ->prefix('nova-impersonate') ->group(__DIR__ . '/../routes/api.php');