* * @version 1.0.0 */ class TelescopeServiceProvider extends TelescopeApplicationServiceProvider { /** * Registrar cualquier servicio de la aplicación */ public function register(): void { Telescope::night(); $this->hideSensitiveRequestDetails(); $isLocal = $this->app->environment('local'); Telescope::filter(function (IncomingEntry $entry) use ($isLocal) { return $isLocal || $entry->isReportableException() || $entry->isFailedRequest() || $entry->isFailedJob() || $entry->isScheduledTask() || $entry->hasMonitoredTag(); }); } /** * Prevenir que los detalles de las solicitudes sensibles se registren en Telescope. */ protected function hideSensitiveRequestDetails(): void { if ($this->app->environment('local')) { return; } Telescope::hideRequestParameters(['_token']); Telescope::hideRequestHeaders([ 'cookie', 'x-csrf-token', 'x-xsrf-token', ]); } /** * Registrar la puerta de acceso de Telescope. * * Esta puerta determina quién puede acceder a Telescope en entornos no locales. */ protected function gate(): void { Gate::define('viewTelescope', function (User $user) { return $user->hasRole('developer'); }); } }