0Pricing
Cryptology Academy · Lección

Flujos de OAuth 2.0 y tipos de tokens

Compare los flujos de código de autorización, implícito, credenciales del cliente y dispositivo, y sepa cuándo utilizar cada uno.

Flujos de OAuth 2.0 y tipos de tokens es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.

Roles principales de OAuth 2.0

OAuth 2.0 define cuatro roles. El propietario del recurso es el usuario que posee los datos (por ejemplo, sus archivos de Google Drive). El cliente es la aplicación que solicita acceso. El servidor de autorización emite tokens de acceso (por ejemplo, el servidor OAuth de Google). El servidor de recursos aloja los datos protegidos (por ejemplo, la API de Google Drive). Comprender estos roles aclara el propósito de cada flujo.

Flujo de código de autorización

El flujo de código de autorización es el flujo adecuado para las aplicaciones web del lado del servidor. El usuario se autentica en el servidor de autorización, que redirige al cliente con un código de autorización de corta duración. El servidor del cliente intercambia este código por tokens mediante una solicitud por un canal secundario. Los tokens nunca pasan por el navegador, lo que los protege del historial del navegador y de las filtraciones a través del referente.

Flujo implícito: obsoleto

El flujo implícito se diseñó para aplicaciones JavaScript que se ejecutaban únicamente en el navegador y que no podían almacenar secretos del cliente de forma segura. Los tokens se devolvían directamente en el fragmento de la URL, sin pasar por el canal secundario. El flujo implícito está obsoleto en OAuth 2.1 porque PKCE (RFC 7636) permite que los clientes públicos utilicen de forma segura el flujo de código de autorización sin un secreto del cliente.

Credenciales de contraseña del propietario del recurso

El flujo ROPC permite que los clientes recopilen directamente el nombre de usuario y la contraseña del usuario y los intercambien por tokens. Estaba pensado para clientes propios altamente confiables, pero contradice fundamentalmente el propósito de OAuth, que es impedir que las aplicaciones vean las credenciales de los usuarios. Está obsoleto en OAuth 2.1 y no debería utilizarse en ninguna aplicación nueva.

Flujo de credenciales del cliente

El flujo de credenciales del cliente está destinado a la autenticación entre máquinas (M2M), cuando no interviene ningún usuario. El cliente se autentica directamente en el servidor de autorización mediante su ID de cliente y su secreto, y recibe un token de acceso para uso propio. Casos de uso habituales: trabajos en segundo plano, comunicación entre microservicios y gateways de API que acceden a servicios backend.

Flujo de autorización de dispositivos

El flujo de autorización de dispositivos (RFC 8628) permite utilizar OAuth en dispositivos con capacidades de entrada limitadas: televisores inteligentes, consolas de videojuegos, impresoras y dispositivos IoT. El dispositivo muestra un código corto y una URL. El usuario visita la URL desde un teléfono o un ordenador para autorizar el acceso. El dispositivo consulta periódicamente el servidor de autorización hasta que el usuario completa la autorización.

Tipos de tokens de acceso

OAuth 2.0 define dos tipos de tokens de acceso. Los tokens opacos son cadenas aleatorias que el servidor de recursos valida llamando al endpoint de introspección del servidor de autorización. Los tokens de acceso JWT son autónomos: el servidor de recursos puede validarlos localmente verificando la firma, lo que reduce las llamadas a la API de introspección, pero requiere gestionar las claves.

Tokens de actualización y rotación

Los tokens de actualización son credenciales de larga duración que se utilizan para obtener nuevos tokens de acceso cuando caduca el token de acceso. La rotación de tokens de actualización (obligatoria en OAuth 2.1 para clientes públicos) emite un nuevo token de actualización con cada uso e invalida el anterior. Si se utiliza un token de actualización robado, el cliente legítimo detecta la invalidación, lo que permite detectar el robo del token.

Introspección de tokens

RFC 7662 define el endpoint de introspección de tokens, que permite a los servidores de recursos consultar al servidor de autorización el estado actual (active/inactive), el alcance, el sujeto y la caducidad de un token de acceso opaco. La introspección permite revocar tokens en tiempo real: una vez revocado un token en el servidor de autorización, las llamadas de introspección devuelven inmediatamente active: false.

Revocación de tokens

RFC 7009 define el endpoint de revocación de tokens, que permite a los clientes notificar al servidor de autorización que un token (de acceso o de actualización) debe invalidarse. Se utiliza durante el cierre de sesión o cuando un cliente detecta actividad sospechosa. Los tokens de acceso JWT no se pueden revocar por completo sin una lista de revocación, porque los servidores de recursos los validan localmente sin ponerse en contacto con el servidor de autorización.

Autorización basada en alcances

Los alcances de OAuth 2.0 definen los permisos específicos que solicita el cliente. El servidor de autorización presenta los alcances solicitados al usuario para que los apruebe. Los servidores de recursos aplican los requisitos de alcance en cada endpoint. Se aplica el principio de mínimo privilegio: los clientes solo deberían solicitar los alcances mínimos necesarios y los servidores de recursos deberían rechazar las solicitudes con un alcance insuficiente.

Comprobación de los flujos de OAuth 2.0

¿Qué flujo de OAuth 2.0 es adecuado para una herramienta CLI o un dispositivo IoT que necesita autenticar a un usuario, pero no dispone de navegador ni teclado?

Resumen de la lección: flujos de OAuth 2.0

El flujo de código de autorización es adecuado para las aplicaciones del lado del servidor. El flujo implícito está obsoleto (utilice PKCE en su lugar). El flujo ROPC está obsoleto (elimina el propósito de OAuth). Las credenciales del cliente se utilizan para M2M. La autorización de dispositivos permite gestionar dispositivos con entrada limitada. Los tokens de acceso pueden ser opacos o JWT. Los tokens de actualización deberían rotarse. La introspección (RFC 7662) y la revocación (RFC 7009) completan la gestión de tokens.

Preguntas frecuentes

¿La lección «Flujos de OAuth 2.0 y tipos de tokens» es gratis?

Sí — el texto completo de «Flujos de OAuth 2.0 y tipos de tokens» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Flujos de OAuth 2.0 y tipos de tokens»?

Compare los flujos de código de autorización, implícito, credenciales del cliente y dispositivo, y sepa cuándo utilizar cada uno. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cryptology Academy?

No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Flujos de OAuth 2.0 y tipos de tokens»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?

Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Flujos de OAuth 2.0 y tipos de tokens
  2. PKCE: protección de clientes públicos
  3. Claims y tokens de ID de OpenID Connect
  4. Vulnerabilidades de OAuth y patrones de ataque
← Volver a Cryptology Academy