make('Illuminate\Contracts\Console\Kernel')->bootstrap(); use App\Models\Extension; use App\Models\Setting; // Verificar si la extensión ya existe $extension = Extension::where('extension', 'Authentik')->first(); if (!$extension) { // Crear la extensión $extension = Extension::create([ 'name' => 'Authentik SSO - Forclus.NET', 'type' => 'other', 'extension' => 'Authentik', 'enabled' => false, // Desactivado por defecto para permitir la configuración ]); echo "Extensión Authentik creada exitosamente.\n"; } else { echo "Extensión Authentik ya existe.\n"; } // Crear los parámetros por defecto $defaultSettings = [ 'enabled' => false, 'client_id' => '', 'client_secret' => '', 'base_url' => '', 'auto_create_users' => true, 'require_existing_user' => false, 'force_authentik_only' => false, 'button_text' => 'Iniciar sesión con Authentik', 'button_image' => '', 'button_image_alt' => 'Authentik', 'button_bg_color' => '#3B82F6', 'button_text_color' => '#FFFFFF', ]; foreach ($defaultSettings as $key => $value) { $setting = $extension->settings()->where('key', $key)->first(); if (!$setting) { $extension->settings()->create([ 'key' => $key, 'value' => $value, ]); echo "Parámetro '$key' creado con el valor por defecto.\n"; } else { echo "Parámetro '$key' ya existe.\n"; } } echo "\n¡Instalación completada!\n"; echo "Ahora puedes:\n"; echo "1. Ir a la administración de Paymenter > Extensiones\n"; echo "2. Activar la extensión Authentik (la vista de login se modificará automáticamente)\n"; echo "3. Configurar los parámetros (Client ID, Client Secret, Base URL)\n"; echo "4. Probar la configuración\n"; echo "5. Activar la opción 'Forzar solo Authentik' si se desea\n"; echo "\nNOTA: La modificación de la vista de login se realizará automáticamente al activar la extensión desde el panel de administración.\n";