Back to referencesTI y tecnología

Autorización centralizada y plataforma de aplicaciones

Un solo inicio de sesión y una gestión unificada de usuarios y permisos para todas las aplicaciones internas y de clientes de Atrea. Creamos una plataforma centralizada sobre Zitadel con login personalizado, soporte multimarca, permisos detallados y notificaciones.

Client
Atrea s.r.o
Year
2026
Technologies
TypeScriptNode.jsExpressPostgreSQLTypeORMZitadelOpenID ConnectNext.jsVue.jsWeb PushDocker

Desafío

Atrea opera una amplia gama de aplicaciones web para empleados, socios comerciales y clientes. Hasta ahora, cada una gestionaba su propio inicio de sesión, usuarios y permisos. Esto implicaba múltiples cuentas para una sola persona, una gestión de permisos fragmentada y lógica de acceso reprogramada desde cero en cada ocasión.

El objetivo era crear una plataforma común que pudiera ser utilizada por cualquier aplicación, nueva o existente, con inicio de sesión único (SSO), gestión centralizada de permisos y servicios compartidos como notificaciones o comentarios de usuarios.

Solución

Inicio de sesión único (SSO)

Como proveedor de identidad seleccionamos la plataforma IAM de código abierto Zitadel. Sin embargo, desarrollamos nuestras propias pantallas de inicio de sesión (Next.js sobre la API de sesión v2), garantizando que el registro, el restablecimiento de contraseña y la autenticación de doble factor (MFA) se adapten exactamente a las necesidades de Atrea. Los empleados inician sesión con su cuenta corporativa de Microsoft, mientras que los usuarios externos lo hacen con correo electrónico y contraseña.

Multimarca en una sola plataforma

Una única instalación atiende a múltiples marcas u organizaciones. Cada marca dispone de su propia apariencia de inicio de sesión, dominio propio, plantillas de correo electrónico y servidor SMTP de envío. La marca se determina de forma centralizada en función de la aplicación y el callback, asegurando que el usuario nunca termine en un entorno incorrecto.

Permisos en un solo lugar

Las aplicaciones ya no calculan nada por su cuenta; toda la lógica de permisos reside en un servicio central:

  • Roles dentro de cada aplicación y asignación automática según el dominio del correo electrónico.
  • Permisos binarios y escalonados (denegado / lectura / edición) en una estructura de árbol.
  • Permisos sobre registros específicos (por ejemplo, compartir un proyecto individual con un compañero).
  • Administradores de aplicaciones y superadministradores con un registro de auditoría de todos los cambios.

Los roles y permisos se incluyen directamente en el token de acceso (JWT) al iniciar sesión. De este modo, el frontend sabe qué debe mostrar sin realizar consultas adicionales. Los backends de otras aplicaciones verifican los permisos con una sola llamada a la API.

Servicios compartidos para todas las aplicaciones

  • Notificaciones por correo electrónico y Web Push, con plantillas para cada tipo de mensaje, envíos masivos y preferencias de suscripción del usuario.
  • Multilingüismo con un registro central de idiomas, idiomas de respaldo y traducción automática de plantillas.
  • Comentarios y soporte directamente desde las aplicaciones, incluyendo archivos adjuntos y notificaciones de cambio de estado.
  • Perfiles de usuario y preferencias compartidos entre todas las aplicaciones.

Administración

Para los administradores, creamos un panel de control en Vue 3. En él se gestionan usuarios, roles y permisos, aplicaciones y sus clientes OIDC, marcas, configuración de correo, plantillas de notificaciones, soporte y auditoría. La plataforma también incluye documentación para desarrolladores (VitePress) adaptada para asistentes de IA, permitiendo a los desarrolladores integrar nuevas aplicaciones de manera rápida y consistente.

Resultado

  • Una sola cuenta para todas las aplicaciones de Atrea y SSO corporativo mediante Microsoft.
  • Integración de nuevas aplicaciones en cuestión de días en lugar de semanas de desarrollo propio de login y permisos.
  • Gestión de accesos centralizada, incluido el bloqueo inmediato de un usuario en toda la plataforma.
  • Lista para múltiples marcas y mercados gracias al soporte multimarca y multilingüe.
  • La plataforma ya da servicio a aplicaciones en producción de Atrea y se están migrando gradualmente las demás.
View project

Have a similar project in mind?

Start a conversationBack to references