Cómo funciona OAuth · Mapas mentales

Cómo funciona OAuth. Un mapa mental editable con ramas de colores, ideas secundarias y conexiones. Las líneas curvas muestran relaciones; las flechas aparecen cuando importa la dirección.

OAuth permite que una aplicación acceda a los datos de otro servicio en nombre de un usuario sin ver nunca su contraseña: cambia consentimiento por un token de vida corta.

Cómo funciona OAuth · Mapas mentales

El lienzo interactivo de MindMap de esta explicación: cada carril, cada fila y cada flecha de arriba forma parte de un diagrama real de QueryChart que puedes abrir y editar.

Cómo leer este mapa mental

  • Empieza por el tema central y sigue una rama de color para explorar sus ideas.
  • Las líneas curvas muestran relaciones; las flechas aparecen cuando importa la dirección.

User consent

Esta rama reúne “User clicks “Sign in with provider””, “The consent screen is the step most real flows hide: the user chooses exactly which permissions the app may use, such as “read profile” but not “post”.”.

Redirect & code

Esta rama reúne “The redirect carries the client id, the requested scopes and a redirect URI. The user never hands their password to the client application.”, “Authorization server returns an authorization code to the client”.

Token exchange

Esta rama reúne “The code is short-lived and useless by itself. The exchange proves the client is who it claims to be by presenting its registered client secret.”, “Authorization server issues the access token”.

Resource access

Esta rama reúne “Access tokens expire after a short window. Long-lived sessions use a separate refresh token that can mint new access tokens without asking the user again.”, “Resource server validates the token and returns the user's data”, “User sees their data inside the app”.

Conexiones entre ramas

La contraseña del usuario se entrega solo al servidor de autorización: ni el cliente ni el servidor de recursos la ven nunca.

El consentimiento (los ámbitos) es la concesión real; el token de acceso es esa concesión en forma legible por una máquina.

El código de autorización dura poco y no sirve de nada sin el client secret: dos factores protegen el intercambio.

Los tokens de acceso caducan; los tokens de actualización acuñan otros nuevos sin volver a mostrar una pantalla de consentimiento.

El único trabajo del servidor de recursos es validar el token, y eso mantiene desacopladas a las partes.

Relaciones clave y conclusiones

  • La contraseña del usuario se entrega solo al servidor de autorización: ni el cliente ni el servidor de recursos la ven nunca.
  • El consentimiento (los ámbitos) es la concesión real; el token de acceso es esa concesión en forma legible por una máquina.
  • El código de autorización dura poco y no sirve de nada sin el client secret: dos factores protegen el intercambio.
  • Los tokens de acceso caducan; los tokens de actualización acuñan otros nuevos sin volver a mostrar una pantalla de consentimiento.
  • El único trabajo del servidor de recursos es validar el token, y eso mantiene desacopladas a las partes.

Cuándo usar este diagrama

  • Explicar a un equipo de producto por qué «Iniciar sesión con Google» es seguro y qué pide la pantalla de consentimiento.
  • Elegir un flujo de OAuth: el flujo de código de autorización de aquí frente a implicit o client credentials para otros escenarios.
  • Auditar por dónde viajan de verdad las credenciales del usuario y los tokens en tu integración.

Cómo funciona

  1. Adapta el tema central

    Cambia el nombre del tema para adaptarlo a tu proyecto o clase.

  2. Desarrolla las ramas

    Edita las ideas y añade ejemplos o notas.

  3. Conecta ideas relacionadas

    Dibuja conexiones entre ramas; usa flechas cuando la dirección importe.

Preguntas frecuentes

¿Qué es OAuth y por qué existe?

OAuth es un estándar de delegación. Permite que una aplicación acceda a los datos de un usuario en otro servicio en nombre de ese usuario sin que la aplicación vea nunca su contraseña. El usuario se autentica una vez en el servidor de autorización y aprueba permisos concretos (los ámbitos); la aplicación recibe un token que puede gastar. Esa separación de responsabilidades es justo lo que representan los cuatro grupos del diagrama.

¿Cuál es la diferencia entre un código de autorización y un token de acceso?

Un código de autorización es un valor intermedio de vida corta que el cliente recibe tras el consentimiento del usuario; por sí solo no concede nada. El cliente intercambia el código (junto con su client secret registrado) por un token de acceso, que es la capacidad real con la que se llama al servidor de recursos. Ese intercambio en dos pasos es lo que permite al cliente demostrar su identidad en el endpoint del token.

¿Por qué el usuario no le da su contraseña a la aplicación?

Porque la aplicación solo necesita un acceso limitado y revocable: leer un perfil, no ser dueña de la cuenta. Si recibiera la contraseña tendría acceso total para siempre, y el usuario no podría revocar una aplicación sin cambiar la contraseña en todas partes. OAuth cambia una contraseña por un token acotado y con caducidad que el usuario puede revocar de forma independiente.

¿Qué son los ámbitos?

Los ámbitos (scopes) son los permisos concretos que concede el usuario, como «leer el correo» o «escribir en el calendario». Aparecen en la pantalla de consentimiento y quedan codificados en el token de acceso. El servidor de recursos los aplica, así que un token con ámbito de lectura no puede escribir: el mínimo privilegio está integrado en el protocolo en vez de depender del buen comportamiento del cliente.

Editar este mapa mental en QueryChart

Abre este mapa mental en un lienzo editable. Mueve ideas, añade ramas y dibuja conexiones.

Editar este mapa mental en QueryChart

Más en Mapas mentales