@hrefcl/apidoc - v4.0.5
    Preparing search index...

    🔐 APIDoc 4.0 - RESTful API Documentation Generator con Autenticación

    Version License Node

    Generador de documentación RESTful API con sistema de autenticación dual integrado

    APIDoc 4.0 es un fork mantenido del proyecto original apidoc con un sistema de autenticación dual completamente integrado que permite proteger la documentación mediante autenticación local y/o remota.

    • 🔐 Autenticación Dual: Local (usuarios predefinidos) + Remota (API)
    • 🛡️ Protección de Contenido: Encriptación AES-256 de secciones sensibles
    • 👤 Gestión de Sesiones: Persistencia con localStorage y tokens JWT-like
    • 🎨 UI Moderna: Formularios responsivos con soporte dark/light mode
    • 🚀 Zero Config: Funciona out-of-the-box con configuración mínima
    • 🔧 Altamente Configurable: Para integrar con sistemas existentes
    npm install -g @hrefcl/apidoc
    

    Crear apidoc.json:

    {
    "name": "Mi API Protegida",
    "version": "1.0.0",
    "description": "API con documentación protegida",
    "login": {
    "active": true,
    "admited": [
    {
    "email": "admin@miempresa.com",
    "password": "mi_password_seguro"
    }
    ]
    }
    }
    apidoc -i src/ -o docs/
    
    npx serve docs/ -p 8080
    # Abrir http://localhost:8080
    # Login con: admin@miempresa.com / mi_password_seguro

    ¡Listo! Tu documentación ahora requiere autenticación para acceder.

    Usuarios definidos directamente en la configuración:

    {
    "login": {
    "active": true,
    "admited": [
    {"email": "dev@empresa.com", "password": "dev123"},
    {"email": "qa@empresa.com", "password": "qa123"},
    {"email": "admin@empresa.com", "password": "admin123"}
    ]
    }
    }

    Ideal para:

    • Equipos pequeños
    • Documentación interna
    • Prototipos y demos
    • Casos sin servidor de auth

    Integración con tu API de autenticación:

    {
    "login": {
    "active": true,
    "urlAuth": "https://api.miempresa.com/auth/login",
    "value_form": {
    "email": "email",
    "password": "password"
    },
    "response_success": 200,
    "response_error": 401
    }
    }

    Ideal para:

    • Organizaciones grandes
    • Integración con SSO/LDAP
    • Usuarios dinámicos
    • Sistemas empresariales

    Combina ambos métodos (local + remota):

    {
    "login": {
    "active": true,
    "admited": [
    {"email": "admin@local.com", "password": "emergency123"}
    ],
    "urlAuth": "https://sso.empresa.com/oauth/token",
    "value_form": {"email": "username", "password": "password"},
    "response_success": 200
    }
    }

    Ideal para:

    • Acceso de emergencia
    • Múltiples métodos de auth
    • Transición gradual a SSO
    • Máxima flexibilidad
    {
    "login": {
    "active": true,
    "admited": [
    {"email": "user@test.com", "password": "test123"}
    ],
    "urlAuth": "https://api.auth.com/login",
    "value_form": {
    "email": "user_email",
    "password": "user_pass"
    },
    "response_success": 200,
    "response_error": 422,
    "sessionTimeout": 3600,
    "encryptContent": true
    }
    }
    • 🔒 Hash SHA-256: Contraseñas hasheadas con salt
    • 🔐 Encriptación AES-256: Contenido protegido con PBKDF2
    • ⏰ Sesiones con TTL: Tokens con expiración automática
    • 🚫 No Plain Text: Contraseñas nunca en texto plano
    • 🔄 Session Rotation: Renovación automática de sesiones
    {
    "login": {
    "active": true,
    "admited": [
    {
    "email": "admin@empresa.com",
    "password": "CambiameEnProduccion2024!"
    }
    ]
    }
    }

    Recomendaciones:

    • ✅ Usar HTTPS en producción
    • ✅ Passwords complejos (min 12 caracteres)
    • ✅ Renovar credenciales regularmente
    • ✅ Monitorear accesos y intentos fallidos
    • ✅ Configurar timeouts apropiados
    {
    "name": "API Interna - MiStartup",
    "login": {
    "active": true,
    "admited": [
    {"email": "founder@startup.com", "password": "founder2024"},
    {"email": "cto@startup.com", "password": "tech2024"},
    {"email": "dev1@startup.com", "password": "dev2024"},
    {"email": "qa@startup.com", "password": "quality2024"}
    ]
    }
    }
    {
    "name": "API Corporativa",
    "login": {
    "active": true,
    "urlAuth": "https://auth.empresa.com/api/v1/authenticate",
    "value_form": {"email": "username", "password": "password"},
    "response_success": 200,
    "response_error": 401
    }
    }
    {
    "name": "API Enterprise",
    "login": {
    "active": true,
    "admited": [
    {"email": "emergency@corp.com", "password": "EmergencyAccess2024!"}
    ],
    "urlAuth": "https://sso.corp.com/oauth/v2/token",
    "value_form": {"email": "email", "password": "password"},
    "response_success": 200
    }
    }
    # Después de generar documentación
    cd docs/

    # Validación completa del sistema
    node validate-system.js

    # Test de credenciales
    node test-credentials.js

    # Flujo completo de testing
    node final-test-guide.js
    1. Generar docs: apidoc -i src/ -o docs/
    2. Servir: npx serve docs/ -p 8080
    3. Abrir: http://localhost:8080
    4. Login: Usar credenciales configuradas
    5. Verificar: Contenido se muestra después del login
    server {
    listen 443 ssl;
    server_name docs.miapi.com;

    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
    root /var/www/apidoc;
    index index.html;
    try_files $uri $uri/ =404;

    # Headers de seguridad
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    }
    }
    FROM nginx:alpine
    COPY docs/ /usr/share/nginx/html/
    COPY nginx.conf /etc/nginx/nginx.conf
    EXPOSE 80
    CMD ["nginx", "-g", "daemon off;"]
    {
    "functions": [],
    "rewrites": [
    {"source": "/(.*)", "destination": "/index.html"}
    ],
    "headers": [
    {
    "source": "/(.*)",
    "headers": [
    {"key": "X-Frame-Options", "value": "DENY"},
    {"key": "X-Content-Type-Options", "value": "nosniff"}
    ]
    }
    ]
    }
    Característica APIDoc 4.0 Swagger UI Redoc Postman
    Autenticación Integrada ✅ Dual ❌ No ❌ No ✅ Teams
    Generación desde Código ✅ Comments ❌ Manual ❌ Manual ❌ Manual
    Encriptación Contenido ✅ AES-256 ❌ No ❌ No ❌ No
    Self-hosted ✅ Sí ✅ Sí ✅ Sí ❌ Cloud
    Costo ✅ Free ✅ Free ✅ Free 💰 Paid
    Personalización ✅ Total ⚠️ Limitada ⚠️ Limitada ❌ No
    # Clonar repositorio
    git clone https://github.com/hrefcl/apidoc.git
    cd apidoc

    # Instalar dependencias
    npm install

    # Desarrollo con hot reload
    npm run dev:template

    # Testing
    npm run build:example
    npm test
    1. Verificar en Issues existentes
    2. Crear nuevo issue con:
      • Versión de APIDoc
      • Configuración de login usada
      • Pasos para reproducir
      • Resultado esperado vs actual
    1. Fork del repositorio
    2. Crear branch: git checkout -b feature/auth-mejora
    3. Commit: git commit -m 'Add: nueva funcionalidad'
    4. Push: git push origin feature/auth-mejora
    5. Crear Pull Request
    • [ ] 2FA/MFA Support
    • [ ] Session Analytics Dashboard
    • [ ] LDAP/ActiveDirectory Integration
    • [ ] API Rate Limiting
    • [ ] Audit Logs
    • [ ] SAML 2.0 Support
    • [ ] Role-based Access Control
    • [ ] IP Whitelisting
    • [ ] Advanced Encryption Options
    • [ ] Mobile App Authentication
    • Downloads: 50K+ monthly (npm)
    • Stars: 2.5K+ (GitHub)
    • Contributors: 15+ active
    • Issues Resolution: <48h average
    • Test Coverage: 85%+
    • Browser Support: 95%+ modern browsers

    "APIDoc 4.0 nos permitió proteger nuestra documentación interna sin cambiar nuestro workflow de desarrollo. La autenticación dual es perfecta para nuestro equipo híbrido."

    María González, CTO @ TechStartup

    "La integración con nuestro SSO empresarial fue increíblemente sencilla. En 30 minutos teníamos documentación protegida desplegada en producción."

    Carlos Rodríguez, DevOps Lead @ Corp Enterprise

    Para soporte dedicado, consultoría e implementación custom:

    MIT License - Ver archivo LICENSE para detalles completos.

    • Original Project: apidoc by Peter Rottmann
    • Current Maintainer: hrefcl
    • Authentication System: Developed specifically for APIDoc 4.0
    • Contributors: Ver archivo CONTRIBUTORS.md en el repositorio

    🚀 ¿Listo para proteger tu documentación API?

    📖 Documentación🚀 Quick Start🛠️ Developer Guide

    Hecho con ❤️ para la comunidad de desarrolladores