Ir al contenido

Llaves de acceso e inicio de sesión para tu SaaS, sin servicio de autenticación

Última actualización:

Seed inicia la sesión de la gente con llaves de acceso, enlaces de inicio de sesión por correo, Google y GitHub, y lo comprueba su propia API en tu servidor, sin ningún servicio de autenticación de terceros. Las contraseñas, las llaves de acceso y los enlaces de inicio de sesión funcionan en cuanto despliegas, sin pago por usuario; Google y GitHub necesitan dos claves cada uno en el archivo env.

Qué obtienes

  • Contraseñas con hash PBKDF2-SHA-256 mediante Web Crypto, 600.000 iteraciones por defecto
  • Cookies de sesión firmadas y un registro de auditoría de cada evento de inicio de sesión
  • Tokens personales de API, guardados solo como hashes con clave
  • Llaves de acceso: solo se guarda la clave pública y cada desafío de inicio de sesión sirve una vez
  • Enlaces mágicos: un mismo enlace inicia sesión o registra, sirve una vez durante 15 minutos y solo se guarda como hash
  • Cuentas de invitado (inicio de sesión anónimo): el visitante empieza con un clic y sin método de inicio de sesión, y después añade correo y contraseña, Google, GitHub o una llave de acceso a la misma cuenta
  • Las contraseñas incorrectas se cuentan por nombre de inicio de sesión desde cualquier dirección de red, y luego hay un bloqueo breve

Cómo funciona

La API comprueba cada inicio de sesión por sí misma y responde con una cookie de sesión firmada. Una llave de acceso usa el WebAuthn del propio navegador: el servidor guarda solo su clave pública, y cada desafío de inicio de sesión sirve una sola vez. Un enlace de inicio de sesión sirve para entrar o para registrarse, funciona una sola vez durante 15 minutos y se guarda solo como hash.

Una app de autenticación añade la verificación en dos pasos. El perfil muestra cada forma de entrar en la cuenta y cada dispositivo con la sesión iniciada, y cambiar una forma de entrar pide una prueba y envía un correo. Un visitante también puede empezar con una cuenta de invitado y añadir un método de inicio de sesión más tarde.

La página de seguridad de un perfil: la contraseña, un botón Añadir una llave de acceso, la verificación en dos pasos activada y el principio de la lista de dispositivos con sesión iniciada.

Preguntas

¿Necesito un servicio de autenticación?

No. La propia API de Seed comprueba las contraseñas, las llaves de acceso, los enlaces de inicio de sesión y las respuestas de Google y GitHub en tu servidor, así que no se cobra nada por usuario.

¿Seed admite llaves de acceso (passkeys)?

Sí. La gente añade una llave de acceso en su perfil e inicia sesión con ella; el servidor guarda solo su clave pública, y cada desafío de inicio de sesión sirve una sola vez.

¿Seed tiene verificación en dos pasos (2FA)?

Sí. Una app de autenticación añade un código de un solo uso al iniciar sesión, también después de entrar con Google o GitHub.

¿Puedo prescindir del inicio de sesión con Google o GitHub?

Sí. Cada uno está desactivado hasta que defines sus dos variables en el archivo env, así que si no las defines, queda desactivado.

¿Seed funciona con Node o Bun?

Todavía no. Hoy Seed funciona con Deno, y el trabajo para que funcione con Deno, Node y Bun está en marcha (#623). Consulta el plan de entornos de ejecución en la página de funciones.

Míralo funcionar en un minuto

La demo es la aplicación que tienes desde el primer día. Ábrela sin registrarte: tu cuenta de invitado empieza con datos de ejemplo.

Otras funciones

Grupos y roles

Grupos con roles de lector a propietario, invitaciones y registro de actividad.

Más sobre Grupos y roles

Facturación

Facturación por miembro con Stripe, con plan gratuito, prueba y periodo de gracia.

Más sobre Facturación

Sincronización en tiempo real

Un cambio guardado en una pestaña aparece en las demás pestañas abiertas, sin recargar.

Más sobre Sincronización en tiempo real

Todas las funciones Cómo se compara Seed