make('Illuminate\Contracts\Console\Kernel')->bootstrap(); use App\Models\Extension; echo "=== PRUEBA DE LA EXTENSIÓN AUTHENTIK SSO - FORCLUS.NET ===\n\n"; // 1. Verificar que la extensión existe echo "1. Verificando que la extensión existe...\n"; $extension = Extension::where('extension', 'Authentik')->first(); if ($extension) { echo " ✅ Extensión encontrada\n"; echo " - Nombre: " . $extension->name . "\n"; echo " - Tipo: " . $extension->type . "\n"; echo " - Habilitada: " . ($extension->enabled ? 'Sí' : 'No') . "\n"; } else { echo " ❌ Extensión no encontrada\n"; exit(1); } // 2. Verificar parámetros echo "\n2. Verificando parámetros...\n"; $settings = $extension->settings->pluck('value', 'key')->toArray(); $requiredParams = ['enabled', 'client_id', 'client_secret', 'base_url', 'auto_create_users', 'require_existing_user', 'force_authentik_only', 'button_text', 'button_image', 'button_image_alt', 'button_bg_color', 'button_text_color', 'callback_url']; foreach ($requiredParams as $param) { if (isset($settings[$param])) { echo " ✅ $param: " . ($settings[$param] ? 'Configurado' : 'No configurado') . "\n"; } else { echo " ❌ $param: No encontrado\n"; } } // 3. Verificar vista de login echo "\n3. Verificando vista de login...\n"; $loginViewPath = base_path('themes/default/views/auth/login.blade.php'); if (file_exists($loginViewPath)) { $content = file_get_contents($loginViewPath); if (strpos($content, 'force_authentik_only') !== false) { echo " ✅ Vista de login modificada correctamente\n"; } else { echo " ⚠️ Vista de login no modificada (esto es normal si la extensión no está habilitada)\n"; } } else { echo " ❌ Vista de login no encontrada en: $loginViewPath\n"; } // 4. Verificar archivos de backup echo "\n4. Verificando archivos de backup...\n"; $backupFiles = glob($loginViewPath . '.backup.*'); if (!empty($backupFiles)) { echo " ✅ " . count($backupFiles) . " archivo(s) de backup encontrado(s)\n"; foreach ($backupFiles as $backup) { echo " - " . basename($backup) . "\n"; } } else { echo " ⚠️ No se encontraron archivos de backup\n"; } // 5. Verificar traducciones echo "\n5. Verificando traducciones...\n"; $langDirs = ['fr', 'en', 'es']; foreach ($langDirs as $lang) { $langFile = __DIR__ . "/resources/lang/$lang/messages.php"; if (file_exists($langFile)) { echo " ✅ Traducciones en $lang encontradas\n"; } else { echo " ❌ Traducciones en $lang no encontradas\n"; } } // 6. Verificar rutas echo "\n6. Verificando rutas...\n"; $routesFile = __DIR__ . '/routes/web.php'; if (file_exists($routesFile)) { echo " ✅ Archivo de rutas encontrado\n"; } else { echo " ❌ Archivo de rutas no encontrado\n"; } echo "\n=== RESUMEN ===\n"; echo "La extensión Authentik está " . ($extension->enabled ? 'habilitada' : 'deshabilitada') . "\n"; echo "Configuración: " . (count($settings) >= 13 ? 'Completa' : 'Incompleta') . "\n"; echo "Vista de login: " . (strpos($content ?? '', 'force_authentik_only') !== false ? 'Modificada' : 'Original') . "\n"; echo "\nPara activar la extensión:\n"; echo "1. Ve a Administración > Extensiones\n"; echo "2. Busca 'Authentik SSO - Forclus.NET'\n"; echo "3. Haz clic en 'Activar'\n"; echo "4. Configura los parámetros necesarios\n"; echo "\nPrueba completada.\n";