Evaluar y adaptar

Cómo funciona la autenticación de Sushi SaaS

Recorre el inicio de sesión incluido y decide qué proveedores, verificación, MFA, tenancy y controles de abuso debe conservar tu producto.

Esta guía ayuda a tratar la autenticación como una decisión de producto, no como una pantalla de login. Sushi SaaS usa Better Auth para la identidad y añade las reglas de tenant, recuperación, moderación y auditoría que necesita el resto del starter.

Recorrido predeterminado

  1. El usuario se registra con email y contraseña, o con Google cuando están configuradas ambas credenciales OAuth.
  2. El registro con contraseña exige verificar el email. La verificación correcta puede encolar la concesión única de créditos iniciales.
  3. El registro crea una organización personal; una ruta de reparación la crea después si el hook se interrumpió.
  4. El inicio de sesión solo crea una sesión tras comprobar el ciclo de vida y una posible suspensión.
  5. Restablecer la contraseña revoca las sesiones existentes.

La autenticación de dos factores está disponible, pero no es obligatoria en la aplicación de cliente. En la consola de administración sí es obligatoria, además de un rol admin_ro o admin_rw.

La configuración está en src/lib/auth.ts del commit 2a1a04a. Variables y callbacks se explican en Autenticación y administración.

Decisiones antes de lanzar

DecisiónElección incluidaCuándo cambiarla
Métodos de accesoEmail/contraseña; Google si está configuradoLos usuarios necesitan passwordless, SSO empresarial u otro proveedor
Verificación de emailObligatoria con contraseñaTu riesgo permite cuentas sin verificar; decide también cuándo entregar beneficios iniciales
MFA de clienteDisponible y elegido por el usuarioLos datos exigen step-up o MFA obligatorio
MFA de adminObligatorioConsérvalo salvo que lo sustituyas por una política operativa igual de fuerte
Protección antibotTurnstile protege credenciales y correo cuando se habilita; la configuración de producción falla de forma cerrada según la elecciónUsas otro control de edge o identidad y actualizas validación y tests
Creación de tenantCada cuenta obtiene una organización personalEl producto es realmente individual y retiras el alcance de organización de extremo a extremo

No desactives sin más la verificación dejando los créditos iniciales ligados a su hook. Decide si mover la concesión, eliminarla o exigir otra prueba de calidad de cuenta.

Identidad no es autorización

Una sesión válida responde “quién es”, pero no da acceso a todos los datos. Los roles determinan acciones; los entitlements del plan determinan las capacidades compradas por la organización. Sushi mantiene separadas esas preguntas.

El plugin de organizaciones de Better Auth gestiona owner, admin y member. Los servicios añaden límites de plazas, protección del último owner y garantía de que todo usuario conserve un workspace. La eliminación genérica se desactiva porque borrar solo tablas de auth dejaría datos de cobro y producto huérfanos.

Lee Organizaciones y equipos antes de cambiar roles o selección de tenant.

Recuperación y controles de abuso

Turnstile puede proteger endpoints de credenciales y correo. Los controles de alta abarcan contraseña y OAuth; la creación de sesión bloquea cuentas suspendidas o en borrado, sea cual sea el acceso. Los errores visibles usan códigos localizados, no mensajes internos.

La política sigue siendo tuya: quién suspende, cómo se apela, cuánto dura una sesión, qué eventos se guardan y qué puede modificar soporte.

Plan de pruebas de producción

  • Prueba alta, reenvío, caducidad y acceso tras verificar.
  • Restablece la contraseña y confirma que las sesiones antiguas dejan de funcionar.
  • Prueba cada callback OAuth configurado en su origen de producción.
  • Prueba alta, verificación, recuperación y desactivación de MFA; protege los códigos de respaldo.
  • Prueba en concurrencia los límites de invitaciones y la protección del último owner.
  • Inicializa ambos roles de admin y confirma MFA en el origen administrativo.

Continúa con Configuración de la consola de administración. Esta guía refleja el commit 2a1a04a.

Cómo funciona la autenticación de Sushi SaaS · Sushi SaaS