From adb7eacf9e030e02212f01419e332b3fe8f9be7d Mon Sep 17 00:00:00 2001 From: Muah Date: Mon, 29 Jun 2020 17:21:36 +0200 Subject: [PATCH] [8.x] Multiple guards for RedirectIfAuthenticated (#5329) * Update RedirectIfAuthenticated.php allow the middleware to have the same behavior as https://laravel.com/api/5.8/Illuminate/Auth/Middleware/Authenticate.html#method_authenticate so now the guest middleware have the same footprint as auth ex.`guest:web,admin` instead of creating multiple lines to support different guards. * Update RedirectIfAuthenticated.php --- app/Http/Middleware/RedirectIfAuthenticated.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Http/Middleware/RedirectIfAuthenticated.php index 6a0d6441..de91a524 100644 --- a/app/Http/Middleware/RedirectIfAuthenticated.php +++ b/app/Http/Middleware/RedirectIfAuthenticated.php @@ -16,10 +16,18 @@ class RedirectIfAuthenticated * @param string|null $guard * @return mixed */ - public function handle($request, Closure $next, $guard = null) + public function handle($request, Closure $next, ...$guards) { - return Auth::guard($guard)->check() - ? redirect(RouteServiceProvider::HOME) - : $next($request); + if (empty($guards)) { + $guards = [null]; + } + + foreach ($guards as $guard) { + if (Auth::guard($guard)->check()) { + return redirect(RouteServiceProvider::HOME); + } + } + + return $next($request); } }