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

75 lines
2.4 KiB
PHP

<?php
/**
* Script de instalación para la extensión Authentik
*
* Este script puede ser ejecutado para instalar automáticamente la extensión
* y configurar los parámetros básicos.
*/
// Cargar el autoloader e inicializar la aplicación Laravel
require_once __DIR__ . '/../../../vendor/autoload.php';
// Inicializar la aplicación Laravel
$app = require_once __DIR__ . '/../../../bootstrap/app.php';
$app->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";