Spring GDS 25 Aniversario
Una empresa de logística que envía a 190 países construyó algo para enviarse a sí misma.
OAuth es un protocolo de autorización delegada. Permite a una aplicación acceder a una porción de los datos de un usuario en otro servicio sin manejar nunca la contraseña de ese usuario. En vez de teclear tu contraseña de Google en una app de terceros, te redirigen a Google, apruebas un conjunto concreto de permisos y la app recibe un token de acceso acotado exactamente a lo que permitiste. La contraseña nunca sale de Google.
La idea central es consentimiento y alcance. El usuario concede acceso limitado y revocable, y puede retirarlo más tarde sin cambiar su contraseña. Este es el flujo de "iniciar sesión con Google" o "conectar tu Slack" que ves por todas partes. Vale la pena ser preciso: OAuth trata de autorización, lo que una app puede hacer, no de autenticación, demostrar quién eres. La experiencia de "iniciar sesión con" es en realidad OpenID Connect, una capa de identidad construida sobre OAuth. Una app de calendario que necesita añadir eventos a tu agenda usa OAuth para obtener un token acotado al calendario, así puede escribir eventos pero no leer tu correo ni tocar nada que no aprobaras.
El estándar actual es OAuth 2.0, con varios flujos para situaciones distintas, desde apps web en servidor a apps móviles y acceso de máquina a máquina.
Siempre que un producto necesita conectarse a Google, Microsoft, Slack o cualquier servicio en el que un usuario ya confía, OAuth es como lo hacemos, porque pedir a los usuarios que entreguen contraseñas a un tercero es a la vez un riesgo de seguridad y un descarte para integraciones serias. Implementamos el flujo adecuado a la situación, acotamos los tokens con precisión a lo que la función necesita de verdad y manejamos la renovación y revocación de tokens para que la conexión sobreviva sin volverse un lastre.
Los detalles son donde OAuth se tuerce, así que se llevan nuestra atención. Parámetros de estado para bloquear CSRF, almacenamiento seguro de tokens, la diferencia entre autorización e identidad manejada correctamente en vez de confundida. Esto vive dentro de nuestro desarrollo de aplicaciones web a medida y nuestro trabajo de desarrollo API-first, junto al resto del stack de autenticación, porque una integración que filtra acceso es peor que una que nunca se construyó.
¿Conectando tu producto a los servicios en los que tus usuarios ya viven? Pongamos bien el flujo de OAuth.
Una empresa de logística que envía a 190 países construyó algo para enviarse a sí misma.
Convertir una marca en un negocio que funciona.
Medio millón de personas. Una app. Cero caos.















