server('INVESTMOZ_HOMOLOGATION_ACCESS')==='granted',403, 'Este ambiente de homologação tem acesso reservado à Tempo.'); $response=$next($request); $response->headers->set('Cache-Control','private, no-store'); $response->headers->set('X-Robots-Tag','noindex, nofollow, noarchive'); return $response; } abort_unless($mode==='reviewers',503,'A reserva da homologação não está configurada.'); // Compatibility until an independent perimeter is explicitly configured. if ($request->is('login','logout','register','forgot-password','reset-password','reset-password/*', 'email/verify','email/verify/*','email/verification-notification','two-factor-challenge', 'user/confirm-password','user/confirmed-password-status','user/two-factor-*', 'settings/security','settings/password','user/password','passkeys/*','user/passkeys/*','up')) return $next($request); $actor=$request->user(); if (!$actor) return $request->expectsJson() ? response()->json(['message'=>'Entre na conta autorizada para homologação.'],401) : redirect()->guest(route('login')); abort_unless($actor->hasVerifiedEmail() && in_array(strtolower(trim($actor->email)),config('portal.homologation_reviewers',[]),true),403, 'Esta homologação está reservada às contas indicadas pela Tempo.'); $response=$next($request);$response->headers->set('Cache-Control','private, no-store');return $response; } }