- Uso de la técnica Forward Auth para delegar la seguridad a un proxy inverso sin modificar la aplicación.
- Simplificación de la arquitectura actual eliminando Redis y centralizando todo en PostgreSQL.
- Implementación de un sistema de Identidad Única (SSO) compatible con protocolos OAuth2, OIDC, SAML y LDAP.

¿Cómo proteger una aplicación web con Authentik sin modificar? Imagina que tienes un montón de herramientas instaladas en tu servidor pero ninguna tiene un sistema de login decente o, peor aún, cada una requiere una contraseña distinta. Es un dolor de cabeza gestionar usuarios uno por uno, especialmente cuando quieres mantener la privacidad total de tus datos y no quieres depender de gigantes tecnológicos que se quedan con tu información. Aquí es donde entra en juego el autoalojamiento, una filosofía que nos devuelve el control sobre nuestra infraestructura digital.
Para solucionar este caos, Authentik se presenta como una navaja suiza del control de accesos. No es solo un gestor de usuarios, sino un proveedor de identidad (IdP) capaz de centralizar todo el acceso a través de un solo inicio de sesión (SSO). Lo más potente es que permite proteger aplicaciones que no fueron diseñadas para ser seguras, actuando como un guardián que decide quién pasa y quién se queda fuera antes siquiera de que la petición llegue a la aplicación final.
La arquitectura moderna de Authentik

Si buscas guías antiguas, verás que Redis era una pieza fundamental del puzzle. Sin embargo, a partir de la versión 2025.10, el equipo de desarrollo decidió limpiar la casa y eliminar la dependencia de Redis. Ahora, el stack mínimo es mucho más ligero, basándose únicamente en tres contenedores: PostgreSQL, el servidor y el worker. Esta simplificación reduce los fallos de configuración, aunque es importante saber que PostgreSQL ahora asume más carga, por lo que conviene revisar el límite de conexiones máximas de la base de datos.
Para quienes se lanzan a instalarlo con Docker Compose, es vital no saltarse versiones menores en las actualizaciones; hay que ir paso a paso para evitar que la base de datos se vuelva loca. Un truco de experto es arrancar primero PostgreSQL, esperar a que las migraciones terminen en el servidor y, solo entonces, levantar el worker para evitar bloqueos molestos en la base de datos.
El secreto para no modificar la aplicación: Forward Auth

Aquí llegamos al meollo del asunto. Si tienes una web escrita por ti o una herramienta de terceros que no soporta OAuth2 o SAML, no hace falta que te pongas a programar un sistema de login. La solución es el Forward Auth. Este mecanismo consiste en poner un proxy inverso (como Traefik o Nginx) delante de tu aplicación. Cuando alguien intenta entrar, el proxy le pregunta a Authentik: “Oye, ¿este usuario está logueado?”. Si la respuesta es no, el usuario es redirigido al login de Authentik; si es sí, el proxy deja pasar la petición.
- Proxy Provider: Se crea en Authentik para definir cómo se gestiona la autenticación.
- Outpost: Es el componente que expone el endpoint que el proxy inverso consulta.
- Middleware: En Traefik, se configura una regla que redirige el tráfico al outpost antes de llegar al destino.
Un detalle técnico crucial es el manejo de las cookies. Si quieres que un usuario se loguee una vez y pueda entrar en varios subdominios (como app1.ejemplo.com y app2.ejemplo.com), debes configurar el dominio de la cookie apuntando a la raíz (.ejemplo.com). De lo contrario, el usuario tendrá que loguearse en cada servicio, rompiendo la magia del SSO.
Comparativa y alternativas de identidad

En el ecosistema open source hay varias opciones. Keycloak es el gigante del sector, increíblemente potente pero extremadamente pesado y complejo de administrar si no tienes un equipo de IT dedicado. Por otro lado, Zitadel es más moderno y visual, pero aún no tiene la madurez de otros. Authentik se sitúa en el punto dulce: es lo suficientemente robusto para entornos empresariales medianos y lo suficientemente ágil para un laboratorio doméstico, corriendo cómodamente con 2 GB de RAM.
Seguridad avanzada y protección del origen

No sirve de nada tener un portero en la puerta si hay una ventana abierta por detrás. Si usas un proxy para proteger tu app, debes asegurarte de que nadie pueda saltarse el proxy y acceder directamente a la IP del servidor de origen. Para evitar esto, se pueden implementar validaciones de cabeceras HTTP o el uso de JSON Web Tokens (JWT). Si el servidor de origen recibe una petición que no trae la firma correcta de Authentik o del proxy, debe rechazarla ipso facto.
Además, es fundamental limpiar las cabeceras entrantes. Si un atacante malintencionado envía cabeceras falsas que simulan una identidad ya autenticada, y tu proxy las deja pasar, tienes un agujero de seguridad grave. Por eso, un plugin de forward auth serio siempre debe borrar cualquier cabecera de identidad que venga desde el cliente antes de reenviar la petición al servidor.
Flujos de trabajo y personalización
Lo que hace que Authentik destaque es que no te obliga a seguir un camino lineal. Puedes diseñar flujos de autenticación personalizados. Por ejemplo, puedes decidir que los usuarios internos entren solo con contraseña, pero que los externos deban pasar obligatoriamente por un segundo factor de autenticación (MFA) o validar el correo electrónico. Todo esto se hace desde la interfaz administrativa mediante un sistema de etapas y reglas, sin tocar una sola línea de código de la aplicación protegida.
La gestión de usuarios también es flexible. Puedes crear cuentas manualmente en el directorio interno o federar identidades externas. Esto significa que puedes permitir que tus usuarios entren usando sus cuentas de Google Workspace o Microsoft Entra, centralizando la gestión pero delegando la verificación de la identidad a quien ya la posee.
Tener el control absoluto de la identidad digital permite construir ecosistemas seguros donde la seguridad no es un obstáculo, sino una capa invisible. Al combinar un proxy inverso eficiente con un proveedor de identidad como Authentik, cualquier aplicación, por sencilla que sea, puede alcanzar un nivel de protección profesional, eliminando la redundancia de contraseñas y blindando el acceso a los datos sensibles mediante arquitecturas modernas y ligeras.
Apasionado de la tecnología desde pequeñito. Me encanta estar a la última en el sector y sobre todo, comunicarlo. Por eso me dedico a la comunicación en webs de tecnología y videojuegos desde hace ya muchos años. Podrás encontrarme escribiendo sobre Android, Windows, MacOS, iOS, Nintendo o cualquier otro tema relacionado que se te pase por la cabeza.