Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

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

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

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.

CASOS DE USO
  • 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
PUNTOS DESTACADOS
  • 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
PRECAUCIONES
  • 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
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO30 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Despliegue manual

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.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Go
SERVICIOS
PostgreSQLMySQL
BASES DE DATOS
PostgreSQLMySQL
PUERTOS
3000
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

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.