Skip to content

Repository files navigation

Laravel Secure Domain Gateway (LSDG)

Una arquitectura RPC segura para Laravel basada en un único Gateway, descubrimiento automático de operaciones y aislamiento multi-tenant.

¿Qué es LSDG?

Laravel Secure Domain Gateway (LSDG) es una arquitectura diseñada para simplificar el desarrollo de aplicaciones empresariales en Laravel mediante un modelo RPC seguro.

En lugar de crear decenas o cientos de endpoints REST, toda la aplicación expone un único Gateway que recibe una operación ( OperationId ) y sus parámetros.

El Gateway se encarga automáticamente de:

  • localizar la operación;

  • validar la petición;

  • autenticar al usuario o servicio;

  • aplicar las políticas de autorización;

  • ejecutar el FormRequest ;

  • invocar el Controller; • devolver una respuesta uniforme.

El desarrollador únicamente implementa la lógica de negocio.

Objetivos

LSDG ha sido diseñado para conseguir:

  • reducir el código repetitivo;

  • simplificar el desarrollo de nuevos módulos;

  • aumentar la seguridad del backend;

  • desacoplar clientes y servidor;

  • facilitar el mantenimiento;

  • permitir el crecimiento horizontal de la plataforma.

Filosofía

La arquitectura se basa en varios principios fundamentales.

  • Fail Closed : cualquier duda implica rechazar la petición.

  • Security by Default : toda operación es privada hasta que el sistema la publica.

  • Single Entry Point : un único Gateway para todas las operaciones.

1

Convention over Configuration : el sistema descubre automáticamente las operaciones. • Compatibilidad total con Laravel : reutiliza FormRequest , Eloquent, Policies, Middleware y el Service Container.

Características principales

Gateway único

Toda la aplicación expone un único endpoint RPC.

POST /api

Cada petición indica únicamente:

{
"operation":"documents.create",
"params":{}
}

El cliente nunca conoce Controllers ni métodos internos.

Registry automático

Todas las operaciones públicas se descubren automáticamente.

El Registry actúa como:

  • catálogo de operaciones; • allowlist automática; • sistema de resolución del Gateway.

No existen listas manuales de operaciones.

OperationId estable

Cada operación posee un identificador único.

Ejemplos:

documents.create
documents.delete

2

users.login
vehicles.find

Los clientes nunca dependen de nombres de clases o namespaces.

RPC Engine

El motor RPC:

  • resuelve Controllers;

  • construye automáticamente los FormRequest ;

  • ejecuta la validación;

  • invoca el método correcto; • normaliza la respuesta.

Todo ello utilizando el Service Container de Laravel.

Validación nativa

Toda la validación continúa realizándose mediante:

  • FormRequest

  • authorize()rules()

No existe un sistema alternativo.

Multi-Tenant

La arquitectura incorpora aislamiento completo entre clientes.

Cada usuario pertenece a una licencia (UUID) y todos los registros incluyen dicha licencia.

El filtrado se realiza automáticamente mediante Global Scopes de Eloquent.

El desarrollador nunca necesita escribir:

where('licencia', ...)

UUID

Todas las entidades utilizan UUID estándar (36 caracteres) como clave primaria.

3

Esto proporciona:

  • identificadores globales;

  • mejor soporte para sistemas distribuidos;

  • imposibilidad de enumerar registros.

Seguridad multicapa

Cada petición atraviesa varias capas independientes.

  • HTTPS

  • Validación del envelope

  • Autenticación

  • Autorización

  • Registry

  • Rate Limiting

  • Replay Protection

  • FormRequest

  • Tenant Isolation

Cada capa protege a la siguiente.

Autenticación entre servicios

Las comunicaciones internas utilizan:

  • HMAC SHA-256

  • Secretos independientes

  • Timestamp

  • Nonce

  • Protección Replay

  • Canonical Request

No se comparten secretos entre servicios.

Gestión automática de credenciales

Cada servicio posee:

  • una credencial propia;

  • un secreto independiente;

  • permisos específicos;

  • límites individuales;

  • rotación automática;

  • expiración;

  • revocación.

4

Todo el ciclo de vida está automatizado.

Rate Limiting avanzado

El Gateway implementa varios mecanismos de protección.

  • límite por minuto;

  • límite por hora;

  • límite por día;

  • límite absoluto;

  • Cost Units; • protección Replay.

Cada credencial posee su propia configuración.

Concurrencia

La arquitectura utiliza:

  • transacciones cortas;

  • operaciones atómicas;

  • bloqueo optimista;

  • versionado del Registry; • separación entre datos estáticos y dinámicos.

No requiere infraestructura distribuida compleja.

Automatización

Todas las tareas de mantenimiento utilizan Laravel Scheduler.

Entre ellas:

  • regeneración del Registry;

  • rotación de credenciales;

  • expiración;

  • reconciliación;

  • limpieza;

  • mantenimiento de estadísticas.

SDK oficiales

La arquitectura contempla clientes oficiales para:

  • Laravel

5

  • PHP

  • Next.js

  • JavaScript

  • Node.js

Todos implementan exactamente el mismo protocolo RPC.

Testing

La plataforma incorpora una estrategia de pruebas basada en:

  • Unit Tests;

  • Feature Tests;

  • Integration Tests;

  • Security Tests;

  • Concurrency Tests;

  • Performance Tests.

Ventajas

  • Un único endpoint para toda la plataforma.

  • Descubrimiento automático de operaciones.

  • Seguridad homogénea.

  • Menor superficie de ataque.

  • Menos código repetitivo.

  • Compatibilidad completa con Laravel.

  • Arquitectura desacoplada.

  • Escalabilidad horizontal.

  • Multi-tenancy transparente.

  • Preparado para aplicaciones empresariales.

Casos de uso

LSDG resulta especialmente adecuado para:

  • ERP.

  • CRM.

  • Plataformas SaaS.

  • Sistemas multi-tenant.

  • Microservicios Laravel.

  • APIs internas.

  • Plataformas B2B.

  • Backends para aplicaciones móviles.

  • Backends para Next.js.

6

Tecnologías

  • PHP 8.3+

  • Laravel 12+

  • Eloquent ORM

  • FormRequest

  • Service Container

  • Scheduler

  • Artisan

  • MySQL o PostgreSQL

  • Redis (opcional)

Estado del proyecto

Este repositorio documenta la arquitectura completa de Laravel Secure Domain Gateway, incluyendo su modelo de seguridad, motor RPC, sistema de credenciales, automatización, estrategia de pruebas y recomendaciones de despliegue.

El objetivo es proporcionar una base sólida para construir aplicaciones Laravel de gran tamaño con un modelo uniforme, seguro y mantenible.

7

About

Arquitectura Laravel Secure Domain Gateway

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors