user(); if($user->isClient == 1){ $organization = $user->organizations; // Assuming a one-to-one relationship if ($organization) { $subdomain = $organization->slug; $expectedHost = "{$subdomain}.".config('app.domain'); $currentHost = $request->getHost(); $secure = "https"; if ($request->getPort() == '8000' || $request->getPort() == '8001') { // If running locally, include the port in the expected host $secure = "http"; $currentHost = $currentHost . ":" . $request->getPort(); $expectedHost = $expectedHost . ":" . $request->getPort(); } if ($currentHost !== $expectedHost) { Auth::logout(); $request->session()->flush(); $redirectUrl = "{$secure}://{$expectedHost}"; return redirect($redirectUrl); } } } else { $expectedHost = config('app.domain'); $currentHost = $request->getHost(); $secure = "https"; if ($request->getPort() == '8000' || $request->getPort() == '8001') { // If running locally, include the port in the expected host $secure = "http"; $currentHost = $currentHost . ":" . $request->getPort(); $expectedHost = $expectedHost . ":" . $request->getPort(); } if ($currentHost !== $expectedHost) { // Auth::logout(); $request->session()->flush(); $redirectUrl = "{$secure}://{$expectedHost}"; return redirect($redirectUrl); } } } return $next($request); } }