go-auth
Librería de autenticación y gestión de sesiones para Go. Ofrece registro con email/password, OAuth, organizaciones multi-tenant, 2FA y auditoría robusta. Requiere Go 1.26+ e integra esquemas para PostgreSQL, MySQL o SQLite sin necesidad de contenedores externos.
Ficha actualizada 27 sept 2026, 0:59 · upstream 27 sept 2026, 0:53 · release v0.2.4
Qué es go-auth
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
go-auth es una librería auto-alojada diseñada para integrarse directamente en aplicaciones Go, proporcionando tanto una superficie HTTP como APIs de servicio directas. Gestiona flujos completos de autenticación incluyendo recuperación de contraseña, rotación de tokens y límites de vida útil de sesiones. Incluye protección CSRF, limitación de tasa por ruta y flujos de credenciales resistentes a enumeración.
La seguridad es un pilar central, con hash de contraseñas por defecto en bcrypt (coste 12) y soporte para Argon2id opcional. La autenticación de dos factores (2FA) está habilitada por defecto para administradores. El sistema soporta esquemas embebidos para PostgreSQL, MySQL y SQLite, permitiendo almacenamiento persistente sin dependencias externas complejas.
El análisis técnico indica que no incluye Docker ni archivos de composición, requiriendo despliegue nativo en Go. La documentación advierte sobre posibles cambios en las rutas y APIs JSON antes del lanzamiento v1, por lo que se recomienda revisar la documentación oficial para detalles de configuración específicos como el secreto AUTH_SECRET.
- Implementar autenticación segura en aplicaciones web Go sin reinventar la rueda
- Gestionar organizaciones multi-tenant con roles y sesiones sincronizadas
- Integrar proveedores OAuth (Google, GitHub, etc.) con flujos de callback robustos
- Auditoría forense mediante pipeline de logs durable y transaccional
- Despliegue en entornos sin contenedores usando SQLite para desarrollo o PostgreSQL para producción
- Pipeline de auditoría durable con outbox transaccional y soporte para sinks personalizados
- Protección CSRF y limitación de tasa integrada por ruta, resistente a ataques de enumeración
- Hashing de contraseñas configurable (bcrypt/Argon2id) con soporte para peppering rotativo
- Autenticación 2FA obligatoria por defecto para roles administrativos sin configuración extra
- Esquemas embebidos para PostgreSQL, MySQL y SQLite, eliminando dependencias de drivers externos complejos
- No incluye Dockerfile ni archivos de composición, requiriendo despliegue manual o contenedorización externa
- APIs públicas y rutas pueden cambiar sin periodo de deprecación hasta la versión 1 estable
- Requiere Go 1.26 o posterior para funcionar correctamente con las librerías dependientes
- El envío de correos electrónicos requiere configuración SMTP explícita, no es automático por defecto
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Requiere Go 1.26+. Generar un secreto AUTH_SECRET (mínimo 32 bytes) antes de iniciar. Ejecutar migración del esquema con cmd/goauth migrate usando el driver adecuado (SQLite/PostgreSQL). Configurar SMTP para funcionalidades de email como 2FA o recuperación de contraseña. No usar la versión desde go run github.com... en producción, sino importar el módulo directamente.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.