Aplicación starter

Autenticación y administración

Configura Better Auth, identidad, organización personal y la aplicación administrativa independiente con MFA.

Sincronizado con el commit 7d452a6 del starter.

Sushi SaaS usa Better Auth para email/contraseña, verificación, recuperación, sesiones, Google OAuth opcional y doble factor. Cada alta recibe una organización personal; los equipos ya están implementados.

Configura BETTER_AUTH_SECRET, BETTER_AUTH_URL, NEXT_PUBLIC_AUTH_BASE_URL y la URL web. Google es opcional. En producción, registro y flujos sensibles exigen límite distribuido con Redis y Turnstile. Resend entrega correos; en local se pueden registrar enlaces si falta proveedor o AUTH_DEV_EMAIL_LINKS=true, valor rechazado en producción.

Identidad y permisos

  • El ID string de Better Auth autentica; user.uuid es la identidad pública de dominio.
  • Email y proveedor son únicos, pero nunca se autoriza por email.
  • Roles de organización (owner, admin, member) permiten acciones; entitlements controlan funciones y límites.
  • Las rutas autentican antes de consultar y el cliente traduce códigos estables, nunca mensajes internos.

Administración separada

pnpm dev:admin usa el puerto 3001. Despliega apps/admin aparte, con origen y URL de auth propios. Promueve operadores con pnpm admin:promote: admin_ro lee y admin_rw modifica. Se exige MFA y las escrituras generan auditoría. Los roles de organización no son roles de plataforma.

Antes de lanzar prueba alta, verificación, acceso, recuperación, callback Google, revocación de sesiones, MFA y ambos permisos admin. Sigue la guía específica de Configuración y acceso a la consola para el despliegue y el alta de operadores.

Autenticación y administración · Sushi SaaS