Un solo inicio de sesión
para todo

One sign-in
for everything

Sin contraseñas, y sin que la llave de nadie salga de su dispositivo.

No passwords, and nobody's key ever leaves their device.

Tus usuarios ya tienen una identidad de Dotrino en su dispositivo. Con esto pueden entrar en tu aplicación con ella: pulsan un botón, aprueban en su bóveda y ya está. No hay ninguna contraseña que escribir, que recordar, ni que te puedan robar a ti.

Your users already have a Dotrino identity on their device. With this they can get into your app with it: one button, they approve it in their vault, done. There is no password to type, to remember, or for anyone to steal from you.

Se integra como cualquier otro

It integrates like any other

Habla OpenID Connect, así que sirve la librería que ya uses. Apúntala aquí:

It speaks OpenID Connect, so whatever library you already use will do. Point it here:

https://sso.dotrino.com/.well-known/openid-configuration

Lo que cambia respecto de un proveedor clásico, y conviene saberlo antes:

What differs from a classic provider, worth knowing up front:

Lo que este servicio ve

What this service sees

Se dice en voz alta en vez de esconderlo: si usas este servicio, Dotrino ve en qué aplicación entra cada persona. No ve su llave ni sus datos, pero sí eso. Es justo el papel que el ecosistema evita por diseño, así que hay dos formas de no dárselo a nadie:

  • Verifícalo tú mismo. Si tienes tu propio frontend, pide la prueba firmada a la bóveda del usuario y compruébala en tu servidor con @dotrino/sso-client. Aquí no participa nadie más.
  • Levántalo en tu casa. Es MIT y son cuatro archivos: sso.tuempresa.com, sin nada de Dotrino corriendo.

Said out loud instead of hidden: if you use this service, Dotrino sees which app each person signs into. Not their key, not their data — but that, yes. It is exactly the role the ecosystem avoids by design, so there are two ways to give it to nobody:

  • Verify it yourself. With your own frontend, ask the user's vault for the signed proof and check it on your server with @dotrino/sso-client. Nobody else takes part.
  • Run it at home. It is MIT and it is four files: sso.yourcompany.com, with nothing of Dotrino running.

Sin intermediario, en tu servidor

No middleman, on your server

npm i @dotrino/sso-client
import { verifyLogin } from '@dotrino/sso-client'

// `nonce` lo generas tú y lo guardas en la sesión; `audience` eres tú.
const v = await verifyLogin(prueba, { audience: 'https://tuapp.com', nonce })
if (v.ok) console.log('entró', v.profileId, v.claims)

Lo que no guarda

What it does not keep

Ni usuarios, ni contraseñas, ni un historial de accesos, ni direcciones IP. Solo su propia llave de firma y las aplicaciones registradas. No hay ninguna tabla de cuentas, y eso no es un detalle: es lo que hace que un fallo aquí no filtre el directorio de nadie.

No users, no passwords, no access history, no IP addresses. Only its own signing key and the registered apps. There is no account table, and that is not a detail: it is what makes a breach here leak nobody's directory.

GitHub npm Dotrino