Files
Virtnet.bond/extensions/Others/Authentik/test_extension.php
2025-11-30 11:57:22 +01:00

107 lines
3.7 KiB
PHP

<?php
/**
* Script de prueba para la extensión Authentik
*
* Este script verifica que la extensión esté funcionando correctamente
*/
// Charger l'autoloader et initialiser l'application Laravel
require_once __DIR__ . '/../../../vendor/autoload.php';
// Initialiser l'application Laravel
$app = require_once __DIR__ . '/../../../bootstrap/app.php';
$app->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";