Repolode
supabase

supabase/auth

Servidor de autenticación y gestión de usuarios escrito en Go que emite JWT y sirve de base para Supabase Auth.

Alternativa open source a:Auth0Firebase Authentication

Estrellas
2,595
Forks
804
Issues abiertos
399
Último commit
hace 22 horas

¿Qué es?

Auth es un servidor de gestión de usuarios y autenticación escrito en Go. Gestiona el registro y el inicio de sesión, emite tokens JWT de acceso y de actualización, y proporciona la capa de identidad que Supabase utiliza para funciones como Row Level Security con PostgREST. Los métodos de inicio de sesión disponibles incluyen correo electrónico y contraseña, enlaces mágicos, OTP por teléfono y proveedores OAuth externos como Google, Apple, GitHub y Discord.

El servidor se configura mediante variables de entorno con el prefijo GOTRUE_ y se ejecuta con PostgreSQL; las migraciones se aplican automáticamente al arrancar. Incluye endpoints de administración para gestionar usuarios y generar enlaces de acción, plantillas de correo electrónico para confirmaciones, recuperación e invitaciones, comprobaciones CAPTCHA opcionales, rotación de tokens de actualización con detección de reutilización, y trazas y métricas de OpenTelemetry. El proyecto es un fork del código base GoTrue de Netlify y ha evolucionado con funciones distintas.

El proyecto está pensado para ejecutarse como servicio, no como biblioteca de Go. Sus responsables recomiendan ejecutarlo detrás de un proxy compatible con TLS y no modificar el esquema que gestiona.

Funciones clave

  • 01Emite tokens JWT de acceso y de actualización, con rotación de tokens de actualización y detección de reutilización
  • 02Admite el inicio de sesión con correo electrónico y contraseña, enlaces mágicos, OTP por teléfono y acceso anónimo
  • 03Se integra con numerosos proveedores OAuth, como Google, Apple, GitHub y Discord
  • 04Incluye API de administración para crear, actualizar y bloquear usuarios, y generar enlaces de acción
  • 05Envía plantillas de correo electrónico personalizables para confirmaciones, recuperación, invitaciones y notificaciones
  • 06Exporta trazas de OpenTelemetry y métricas de Prometheus o OpenTelemetry

Casos de uso

  • Añadir cuentas de usuario e inicio de sesión con redes sociales a un proyecto de Supabase o a una infraestructura de Supabase autohospedada
  • Emitir JWT que una API respaldada por PostgreSQL utiliza para controlar el acceso a nivel de fila
  • Ejecutar un servicio de autenticación autohospedado con inicio de sesión por correo electrónico, teléfono y OAuth

Inicio rápido

  1. 1

    Inicia la base de datos Postgres local en un contenedor

    docker-compose -f docker-compose-dev.yml up postgres
  2. 2

    Compila el binario de auth

    make build
  3. 3

    Ejecuta el binario de auth

    ./auth

Antes de usarlo

  • Para ejecutarlo en producción, se necesita un proceso que aplique rápidamente las actualizaciones de seguridad. Además, el README recomienda usar Supabase Auth alojado.
  • No está pensado para usarse como biblioteca de Go y no se garantiza la compatibilidad de la API de Go.
  • Algunas funciones heredadas de Netlify, como la multitenencia y el superadministrador, podrían eliminarse sin previo aviso.

En colecciones

Temas

Preguntas frecuentes

¿Qué es auth?
Servidor de autenticación y gestión de usuarios escrito en Go que emite JWT y sirve de base para Supabase Auth. Auth es un servidor de gestión de usuarios y autenticación escrito en Go. Gestiona el registro y el inicio de sesión, emite tokens JWT de acceso y de actualización, y proporciona la capa de identidad que Supabase utiliza para funciones como Row Level Security con PostgREST. Los métodos de inicio de sesión disponibles incluyen correo electrónico y contraseña, enlaces mágicos, OTP por teléfono y proveedores OAuth externos como Google, Apple, GitHub y Discord.
¿auth es gratuito? ¿Qué licencia tiene?
auth es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿auth sigue mantenido?
Mantenimiento activo. El último commit de auth fue el 6 nov 2026.
¿Para qué puedo usar auth?
Añadir cuentas de usuario e inicio de sesión con redes sociales a un proyecto de Supabase o a una infraestructura de Supabase autohospedada Emitir JWT que una API respaldada por PostgreSQL utiliza para controlar el acceso a nivel de fila Ejecutar un servicio de autenticación autohospedado con inicio de sesión por correo electrónico, teléfono y OAuth
¿Cómo se instala auth?
Inicia la base de datos Postgres local en un contenedor: docker-compose -f docker-compose-dev.yml up postgres Compila el binario de auth: make build Ejecuta el binario de auth: ./auth
¿Dónde consigo auth?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/supabase/auth

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados