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

217 lines
5.8 KiB
Markdown

# 🚀 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