# 🚀 Guía de Instalación - Extensión Authentik SSO - Forclus.NET ## 📋 Requisitos Previos - Paymenter instalado y funcionando - PHP 8.0 o superior - Laravel 10+ - Acceso a la base de datos - Instancia de Authentik configurada ## 📦 Instalación ### Método 1: Instalación Automática (Recomendado) 1. **Descargar la extensión**: ```bash # Descargar el archivo Authentik.zip wget https://tu-servidor.com/Authentik.zip ``` 2. **Extraer en el directorio correcto**: ```bash cd /var/www/paymenter/extensions/Others/ unzip Authentik.zip ``` 3. **Ejecutar el script de instalación**: ```bash cd /var/www/paymenter php extensions/Others/Authentik/install.php ``` 4. **Activar desde el panel**: - Ve a **Administración > Extensiones** - Busca **"Authentik SSO - Forclus.NET"** - Haz clic en **"Activar"** (la vista de login se modificará automáticamente) ### Método 2: Instalación Manual 1. **Extraer la extensión**: ```bash cd /var/www/paymenter/extensions/Others/ unzip Authentik.zip ``` 2. **Configurar manualmente**: - Ve a **Administración > Extensiones** - Busca **"Authentik SSO - Forclus.NET"** - Haz clic en **"Instalar"** - Luego **"Activar"** ## ⚙️ Configuración ### 1. Configurar Authentik En tu instancia de Authentik: 1. **Crear una aplicación OAuth2/OpenID**: - Ve a **Applications > Create** - Selecciona **OAuth2/OpenID Provider** - Configura los siguientes parámetros: 2. **URLs de redirección**: - **Authorization URL**: `https://tu-paymenter.com/oauth/authentik` - **Callback URL**: `https://tu-paymenter.com/oauth/authentik/callback` 3. **Scopes requeridos**: - `openid` - `email` - `profile` 4. **Copiar credenciales**: - **Client ID** - **Client Secret** - **Base URL** (ej: `https://authentik.tudominio.com`) ### 2. Configurar en Paymenter 1. **Ve a Administración > Extensiones > Authentik SSO** 2. **Configura los parámetros**: - ✅ **Authentik SSO Enabled**: Activar - 🔑 **Client ID**: Tu Client ID de Authentik - 🔐 **Client Secret**: Tu Client Secret de Authentik - 🌐 **Base URL**: URL base de tu instancia Authentik 3. **Opciones avanzadas**: - ✅ **Auto-crear usuarios**: Crear automáticamente usuarios de Authentik - ❌ **Requerir usuario existente**: Solo usuarios ya existentes en Paymenter - ❌ **Forzar solo Authentik**: Ocultar formulario de login normal ## 🧪 Pruebas ### 1. Probar la configuración ```bash cd /var/www/paymenter php extensions/Others/Authentik/test_extension.php ``` ### 2. Probar el login 1. Ve a la página de login de Paymenter 2. Deberías ver el botón **"Iniciar sesión con Authentik"** 3. Haz clic en el botón 4. Serás redirigido a Authentik 5. Después del login, serás redirigido de vuelta a Paymenter ## 🔧 Solución de Problemas ### Error: "ERR_TOO_MANY_REDIRECTS" Si experimentas bucles de redirección: ```bash # Desactivar temporalmente el modo "force Authentik only" php extensions/Others/Authentik/disable_force_mode.php ``` ### Error: "Vista de login no modificada" Si la vista no se modifica automáticamente: ```bash # Restaurar la vista original php extensions/Others/Authentik/restore_login_view.php ``` ### Error: "Configuración inválida" Verifica que: - ✅ Client ID esté configurado - ✅ Client Secret esté configurado - ✅ Base URL esté configurado y sea accesible - ✅ URLs de redirección estén configuradas correctamente en Authentik ## 📁 Estructura de Archivos ``` Authentik/ ├── Authentik.php # Clase principal de la extensión ├── config.php # Configuración de la extensión ├── install.php # Script de instalación ├── uninstall.php # Script de desinstalación ├── test_extension.php # Script de pruebas ├── disable_force_mode.php # Desactivar modo forzado ├── restore_login_view.php # Restaurar vista original ├── README.md # Documentación en francés ├── README_ES.md # Documentación en español ├── INSTALACION.md # Esta guía ├── FORCE_AUTHENTIK_ONLY.md # Documentación del modo forzado ├── routes/ │ └── web.php # Rutas de la extensión ├── Http/ │ └── Controllers/ │ └── AuthentikController.php ├── Providers/ │ └── AuthentikProvider.php ├── Middleware/ │ └── ForceAuthentikOnly.php ├── Livewire/ │ └── AuthentikLoginOverride.php ├── resources/ │ ├── views/ │ │ └── login-override.blade.php │ └── lang/ │ ├── fr/messages.php # Traducciones en francés │ ├── en/messages.php # Traducciones en inglés │ └── es/messages.php # Traducciones en español └── scripts/ └── modify_login_view.php # Script para modificar la vista ``` ## 🆘 Soporte Si tienes problemas: 1. **Revisa los logs** de Laravel: `storage/logs/laravel.log` 2. **Ejecuta el script de prueba**: `php extensions/Others/Authentik/test_extension.php` 3. **Verifica la configuración** de Authentik 4. **Consulta la documentación** de Authentik ## 🔄 Actualización Para actualizar la extensión: 1. **Hacer backup** de la configuración actual 2. **Desactivar** la extensión desde el panel 3. **Reemplazar** los archivos con la nueva versión 4. **Reactivar** la extensión 5. **Verificar** que todo funciona correctamente ## 🗑️ Desinstalación Para desinstalar completamente: ```bash cd /var/www/paymenter php extensions/Others/Authentik/uninstall.php ``` Esto eliminará: - ✅ La extensión de la base de datos - ✅ Todos los parámetros de configuración - ✅ Restaurará la vista de login original - ✅ Limpiará todos los archivos de backup