File manager - Edit - /var/www/html/homologBancodetalentos/app/Http/Middleware/AuthSSOWeb.php
Back
<?php namespace App\Http\Middleware; use App\Http\Services\AuthService; use App\Support\SsoWebSession; use App\Support\TalentBank\IntegrationLog; use App\Support\TalentBankBypassAuth; use Illuminate\Http\Client\ConnectionException; use Closure; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; class AuthSSOWeb { /** * @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next */ public function handle(Request $request, Closure $next) { if (TalentBankBypassAuth::enabled()) { $payload = TalentBankBypassAuth::userPayload(); $request->user = $payload; $request->merge(['user' => $payload]); session(['sso.user_payload' => $payload]); return $next($request); } if (SsoWebSession::isLocalDevSession()) { $payload = session('sso.user_payload', []); if (! is_array($payload) || $payload === []) { SsoWebSession::forget(); return redirect() ->guest(route('entrar')) ->with('error', __('auth.failed')); } $request->user = $payload; $request->merge(['user' => $payload]); return $next($request); } if (SsoWebSession::isAngraSsoSession()) { $payload = session('sso.user_payload', []); if (! is_array($payload) || $payload === []) { SsoWebSession::forget(); return redirect() ->guest(route('entrar')) ->with('error', __('auth.failed')); } $request->user = $payload; $request->merge(['user' => $payload]); return $next($request); } if (! SsoWebSession::hasToken()) { return redirect() ->guest(route('entrar')) ->with('error', __('auth.failed')); } $authService = new AuthService(); try { $response = $authService->session($request); } catch (ConnectionException $e) { IntegrationLog::error('sso.web', 'session_connection_failed', [ 'message' => $e->getMessage(), ]); SsoWebSession::forget(); return redirect() ->guest(route('entrar')) ->with('error', __('auth.service_unavailable')); } if ($response->status() != JsonResponse::HTTP_OK) { IntegrationLog::warning('sso.web', 'session_invalid', [ 'http_status' => $response->status(), ]); SsoWebSession::forget(); return redirect() ->guest(route('entrar')) ->withErrors(['auth' => __('auth.failed')]); } $payload = $response->json(); $request->user = $payload; $request->merge(['user' => $payload]); session(['sso.user_payload' => $payload]); return $next($request); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings