75 lines
2.4 KiB
PHP
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";
|