OAuth 2.0 en Profundidad: Flujos, Tokens y Seguridad
Volver a Learn
FAACCapítulo 16

Fundamentos y Arquitectura de APIs Corporativas

OAuth 2.0 en Profundidad: Flujos, Tokens y Seguridad

Roles, endpoints, Authorization Code con PKCE, Client Credentials, refresh tokens, introspección, revocación y prácticas modernas de protección

Edición en profundidad - material de estudio y consulta profesional

Flujos OAuth 2.0 protegidos por PKCE, tokens y controles modernos de seguridad

Delegación 2.0: autorización sin compartir la contraseña del usuario

OAuth 2.0 delegando autoridad entre usuario, cliente, authorization server, API Gateway y API
Figura de apertura: delega autoridad limitada sin convertir al cliente en el propietario de las credenciales del usuario.

Principio central

Al cliente se le otorga autoridad limitada para acceder a una ; La autenticación de usuario y la autorización de siguen siendo decisiones independientes.

Edición en profundidad: material de estudio y consulta profesional.

Presentación del capítulo

Los capítulos anteriores separaron identidad, autenticación, autorización y credenciales estáticas. Ahora el curso profundiza en el marco 2.0, creado para permitir a un cliente obtener autoridad limitada para acceder a un recurso protegido. La idea central es reemplazar el intercambio directo de credenciales con artefactos temporales, con audience, , duración y contexto controlados.

2.0 no es un protocolo único y cerrado. Es una familia de roles, , grants, tipos de clientes, formatos de y extensiones. La seguridad de un despliegue depende de la correcta composición de estos elementos. Un flujo de puede ser sólido cuando utiliza , de redireccionamiento estricto y protección de , pero puede ser vulnerable cuando acepta redirecciones amplias, mezcla issuers o expone códigos y en registros.

La especificación original sigue siendo importante, pero la práctica moderna también se guía por documentos posteriores. Las mejores prácticas actuales de seguridad consolidan experiencias operativas, desaconsejan modos inseguros y refuerzan , redirect exacto, protección contra mix-up, restricción de y defensa de . Extensiones como , , RAR, , , metadata de recursos y abordan escenarios de mayor riesgo e integraciones corporativas.

Este capítulo recorre el ciclo completo: registro de cliente, solicitud de autorización, emisión y uso de , renovación, revocación, introspección, delegación entre servicios y aplicación en . El objetivo es permitir al lector diseñar y diagnosticar flujos reales sin confundir la autenticación de usuario, la autenticación de cliente, el consentimiento, la autorización de recursos y la validación de .

Estado de la especificación

2.1 seguirá siendo un borrador de Internet en 2026. Consolida las prácticas modernas, pero no reemplaza automáticamente los publicados. Para decisiones regulatorias, utilice los actuales y las mejores prácticas actuales de seguridad de 2.0, consultando la versión preliminar actual solo para obtener orientación adicional.

Objetivos de aprendizaje

  • Explique el problema de delegación resuelto por 2.0 y sus límites.
  • Distinga propietario de recursos, cliente, y .
  • Diferenciar de autorización, de , introspección, revocación y metadata.
  • Clasifique clientes públicos y confidenciales y elija una autenticación compatible con su capacidad para proteger claves.
  • Describir el con y los controles de estado, , issuer y de redireccionamiento.
  • Aplique , Device Authorization y en escenarios apropiados.
  • Distinga grants, códigos, , y de identificación.
  • Diseñar , audiences, indicadores de recursos, consentimiento y autorización detallada.
  • Comprenda los opacos, los , la introspección, la revocación y los perfiles de .
  • Aplicar , , , RAR, , y según riesgo.
  • Integre con , Axway y Azure Management.
  • Diagnosticar invalid_request, invalid_client, invalid_grant, invalid_token y insufficient_scope.

Estructura del capítulo

  • 16.1 El problema que resuelve 2.0
  • 16.2 Roles y límites de confianza
  • 16.3 , metadata y canales
  • 16.4 Registro, tipos de clientes y de redireccionamiento
  • 16.5 Grants, flujos y tipos de
  • 16.6 en profundidad
  • 16.7 y protección de interceptación
  • 16.8 , , issuer y protección contra mix-up
  • 16.9 Autenticación de clientes confidenciales
  • 16.10 Aplicaciones web, , nativas y
  • 16.11
  • 16.12 Device Authorization
  • 16.13 , rotación y reutilización
  • 16.14 , , audience e indicadores de recursos
  • 16.15 opacos, introspección y revocación
  • 16.16 y validación de
  • 16.17 Consentimiento, least privilege y Rich Authorization
  • 16.18 , y
  • 16.19 Sender-constrained con y
  • 16.20 y on-behalf-of
  • 16.21 Metadata del y recurso protegido
  • 16.22 en , Axway y Azure
  • 16.23 Amenazas y hardening
  • 16.24 basada en evidencia
  • 16.25 Estudios de casos y laboratorios
  • Resumen, lista de verificación, ejercicios, glosario y referencias.

16.1 El problema que resuelve 2.0

Antes de los marcos de delegación, era común que una aplicación solicitara la contraseña de un usuario para acceder a otro sistema. Esta práctica otorgaba al cliente un poder excesivo, impedía limitar las operaciones, dificultaba la revocación selectiva y exponía las credenciales reutilizables. Si el cliente estuviera comprometido, el atacante podría actuar como usuario en cualquier interfaz que aceptara la misma contraseña.

reemplaza este intercambio con una concesión de autoridad. El cliente solicita autorización para una finalidad; El autentica al usuario cuando es necesario, aplica políticas y emite un destinado al . El cliente recibe sólo la capacidad representada por el , no la credencial principal del usuario.

El marco no define por sí solo cómo se autentica el usuario, cómo modela la los permisos de los objetos o cómo se debe formatear el . Tampoco transforma un en prueba de inicio de sesión para el cliente. OpenID Connect satisface la necesidad de comunicar la autenticación del usuario al cliente, mientras que la sigue siendo responsable de la autorización detallada y las reglas comerciales.

modelo mental

responde: "¿cómo obtiene y presenta un cliente una autoridad limitada para un recurso?" No se responde a sí mismo: "¿quién es el usuario de la interfaz?", "¿el usuario es propietario de este objeto?" o "¿esta transacción está permitida por el dominio?".

Roles de OAuth y sus canales de comunicación y confianza
Figura 1: Los roles son responsabilidades lógicas; un producto puede implementar más de una función, pero los límites deben permanecer explícitos.

16.2 Roles y límites de confianza

El es la entidad capaz de otorgar acceso al recurso. En muchos flujos se trata de una persona, pero también puede ser una organización o una política administrativa. El cliente es la aplicación que solicita acceso. No es automáticamente propietario de los datos y no se le debe otorgar más autoridad de la necesaria para su función.

El autentica al cuando corresponde, evalúa la solicitud, registra el consentimiento o la política y emite . El es la que acepta y decide si se permite la operación. En una plataforma empresarial, puede actuar como parte del validando el y aplicando controles transversales, mientras que el conserva las decisiones de dominio.

Los roles lógicos no necesariamente equivalen a procesos separados. El mismo producto puede alojar autorizaciones y recursos, y una puede intermediar varias . Aun así, el issuer, la audience, las claves, los y las responsabilidades deben ser distintos para evitar que un emitido para un servicio sea aceptado indebidamente por otro.

Tabla 1: Cada rol tiene sus propios controles y evidencia.
papelResponsabilidad principalError de dibujo común
Resource ownerotorga autoridad sobre los recursosTrate el consentimiento como una autorización sin restricciones.
Clientsolicitar y usar tokensalmacenar secreto en la aplicación incapaz de protegerlo.
Authorization serveremite tokens y publica metadataemitir una audience amplia y aceptar URI de redireccionamiento flexible.
Resource servervalida el token y autoriza la operaciónAcepte JWT solo porque la firma es válida.

16.3 , metadata y canales

El de autorización recibe solicitudes a través del agente de usuario y realiza interacción con el . El cliente accede directamente al para intercambiar grants por . Esta separación crea dos canales: front-channel, expuesto al navegador, historial, extensiones y redireccionamientos; y back-channel, protegido por y utilizado para solicitudes directas entre el cliente y el .

Los opcionales amplían la operación y la interoperabilidad. La introspección permite al consultar el estado de un . La revocación le permite invalidar y, según la implementación, . recibe los parámetros de autorización por adelantado a través del back-channel. Los metadata describen el issuer, los , los métodos de autenticación, los algoritmos y las capacidades admitidas.

Las de los son datos de seguridad. El cliente no debe construirlos mediante concatenación ni aceptar metadata de una fuente que no sea de confianza. El issuer devuelto debe coincidir con el issuer configurado. , la validación del nombre de host y la resolución confiable siguen siendo esenciales porque protege la autoridad, no reemplaza la seguridad del canal.

Tabla 2: Los criterios de valoración tienen diferentes exposiciones y controles.
Endpointcanal tipicoPropósito
Autorizaciónfront-channelinteracción del usuario y emisión de códigos de autorización.
tokenback-channelintercambio de grants y autenticación de clientes.
Introspectionback-channelconsulta de actividad y atributos de token.
Revocaciónback-channelinvalidación del token según la política.
PARback-channelregistro protegido de parámetros de autorización.
Metadatalectura autenticada en fuentedescubrimiento de endpoints y capacidades.

16.4 Registro, tipos de clientes y de redireccionamiento

El registro asocia client_id, de redireccionamiento, tipo de aplicación, contactos, claves, métodos de autenticación y grants permitidos. client_id es un identificador público, no un secreto. La seguridad depende del vínculo correcto entre el identificador y las propiedades registradas, especialmente los de redireccionamiento y el material criptográfico.

Los clientes confidenciales pueden mantener las credenciales bajo control, como aplicaciones o servicios web . Los clientes públicos se ejecutan en entornos donde el usuario o atacante puede extraer el software y sus valores, como y aplicaciones nativas. Insertar client_secret en un JavaScript, un paquete móvil o una aplicación distribuida no hace que el cliente sea confidencial; el secreto se vuelve copiable.

El de redireccionamiento debe compararse mediante una coincidencia exacta, excepto en el caso de reglas muy específicas para el bucle invertido de la aplicación nativa. Los comodines, la coincidencia de prefijos y los redirectores abiertos permiten omitir códigos. Cada entorno debe tener sus propios y la aplicación debe validar la ruta de retorno antes de iniciar cualquier sesión local.

Secreto público del cliente

Un valor integrado en un , una aplicación móvil o un binario distribuido debe considerarse público. La protección adecuada proviene de , de redireccionamiento estricto, sistema operativo, cuando corresponda y restricción de , no de intentar ocultar un client_secret.

16.5 Grants, flujos y tipos de

es la representación de una autorización utilizada por el cliente para obtener un . El , el , las y el código del dispositivo son ejemplos. “Flujo” describe la secuencia completa de interacciones. Confundir concesión con conduce a registros y políticas inexactas: el es corto, de un solo uso y está destinado al ; el se presenta a la .

El representa la autoridad para un . El le permite solicitar nuevos y debe estar restringido al . El pertenece a OpenID Connect y comunica datos sobre la autenticación al cliente; no debe utilizarse como . Cada artefacto tiene un destinatario, vida útil y protección diferente.

Las antiguas Password Credentials y Implicit no se deben elegir para proyectos nuevos. El primero expone en el front-channel y ha perdido su justificación con ; el segundo entrega las credenciales de usuario al cliente e impide muchos controles modernos. Las migraciones deben priorizar el con o flujos apropiados de máquina a máquina.

Tabla 3 - Los artefactos no son intercambiables.
artefactoDestinatarioPropiedad operativa
Authorization codetoken endpointURI/PKCE corto, de un solo uso y vinculado al cliente/redireccionamiento.
Access tokenresource serverautoridad temporal, audience y scope.
Refresh tokenauthorization servercredencial de relativa larga duración; Requiere protección y rotación.
ID tokenCliente OIDCafirmación sobre autenticación, no credencial API genérica.
device_codetoken endpointsondeo controlado para dispositivos limitados.
Authorization Code con PKCE utilizando el front-channel y el canal posterior
Figura 2: vincula el intercambio del a una prueba creada por el cliente.

16.6 en profundidad

El cliente crea una solicitud de autorización que contiene los parámetros response_type=code, client_id, redirect_uri, , estado y . El navegador se redirige al , donde se puede autenticar al usuario y evaluar la política. Si tiene éxito, el devuelve un para el de redireccionamiento registrado.

El cliente recibe el código y lo intercambia en el . Esta solicitud directa incluye grant_type=authorization_code, código, redirect_uri y code_verifier. Los clientes confidenciales también se autentican. El servidor verifica el uso único, el plazo, el cliente, el de redireccionamiento y antes de emitir .

El código no debe tener autoridad reutilizable ni enviarse a . Existe para reducir la exposición del en el front-channel y permitir validaciones en el canal posterior. Los registros, las herramientas de análisis, las páginas de error y las referencias no deben registrar el valor. Después del cambio, la aplicación debe eliminar los parámetros confidenciales de la y establecer su propio estado de sesión de forma segura.

Solicitud de autorización - valores ilustrativos

GET /authorize?response_type=code
  &client_id=portal-pagos
  &redirect_uri=https%3A%2F%2Fapp.example%2Fcallback
  &scope=pagos.read%20pagos.write
  &state=valor-aleatorio
  &code_challenge=base64url-sha256-verifier
  &code_challenge_method=S256

Intercambio de código por

POST /token
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&code=AUTHORIZATION_CODE
&redirect_uri=https%3A%2F%2Fapp.example%2Fcallback
&client_id=portal-pagos
&code_verifier=SECRETO_ALEATORIO_DE_LA_INSTANCIA

16.7 y protección de interceptación

comienza con un code_verifier aleatorio, de alta entropía y exclusivo de prueba. El cliente calcula code_challenge = (SHA256(code_verifier)) y envía el desafío al de autorización. Al cambiar el código, muestra el verificador original. El vuelve a calcular el desafío y requiere una coincidencia.

Si un atacante intercepta el , no podrá intercambiarlo sin el verificador. Se debe utilizar el método S256; Plain existe para una compatibilidad restringida y no ofrece la misma protección contra la observación que la impugnación. no reemplaza el estado, el de redireccionamiento exacto, ni la autenticación de . Resuelve una amenaza específica: la interceptación e inyección de códigos de autorización.

También se debe exigir a los clientes confidenciales cuando utilicen el . Además de estandarizar el flujo, protege contra ataques en los que se inyecta código obtenido en otro contexto en la sesión del cliente. El verificador no se debe reutilizar y debe estar asociado con la misma transacción que contiene el de estado y de redireccionamiento.

Tabla 4: PKCE es una prueba por transacción, no una credencial permanente.
Elementodonde apareceRequisito
code_verifiersolicitud de tokenaleatorio, secreto durante la transacción y no reutilizado.
code_challengesolicitud de autorizaciónderivado del verificador por S256.
code_challenge_methodsolicitud de autorizaciónS256 para sistemas nuevos.
vínculoestado del clienteMismo intento, client_id, redirect URI y código.

16.8 , , issuer y protección contra mix-up

El estado vincula la respuesta de autorización a la sesión que inició la solicitud y ayuda a prevenir . Debe ser impredecible, de un solo uso y asociado localmente con el issuer, el de redireccionamiento, el y la intención del usuario. Tratar el estado únicamente como una de retorno firmada puede dejar la sesión sin la protección adecuada contra respuestas no solicitadas.

pertenece a OpenID Connect y vincula el a la solicitud de autenticación. No reemplaza al estado para asegurar el flujo de . En clientes que usan , es posible que se requieran ambos: el estado protege la redirección y el se valida dentro del de ID.

Los ataques de mix-up de explotan a los clientes que hablan con varios issuers y no vinculan la respuesta al issuer correcto. El cliente debe utilizar metadata confiables, validar el parámetro iss cuando sea compatible y enviar el código solo al del issuer asociado con la transacción. Nunca seleccione el basándose en datos de respuesta no validados.

Estado transaccional mínimo

Almacene, tentativamente: issuer esperado, client_id, de redireccionamiento, estado, code_verifier, cuando hay , solicitados y tiempo. Consume el registro una vez y caduca rápidamente.

16.9 Autenticación de clientes confidenciales

El debe distinguir al cliente que presenta la concesión. client_secret_basic es simple, pero se basa en un transporte secreto y seguro simétrico. client_secret_post coloca el secreto en el cuerpo y aumenta el riesgo de registro; debe evitarse cuando se admite el método básico. Los secretos necesitan almacenamiento en bóveda, rotación, propiedad y por entorno.

private_key_jwt utiliza una aserción firmada por la clave privada del cliente. El valida issuer/sujeto, audience, vencimiento, identificador único y firma. La clave privada no se envía y puede gestionar la rotación. El mecanismo requiere prevención de reproducción jti y una validación estricta de la audience del .

La autenticación del cliente vincula la autenticación al certificado presentado en la conexión . Puede utilizar tradicional o certificado registrado. En entornos con , debe quedar claro dónde termina y cómo se preserva la identidad del certificado. La autenticación sólida del cliente no elimina la necesidad de en el .

Tabla 5 - El método debe corresponder a la capacidad real del cliente.
MétodoMaterialesventajaPrecaución
client_secret_basicsecreto simétricoamplio apoyorotación, registros y uso compartido.
private_key_jwtclave privadano envía secretos; buena automatizaciónjti, audience y rotación de JWKS.
Autenticación de cliente mTLScertificado y clavefuerte conexión con el canalTerminación TLS y ciclo de certificados.
ningunosin autenticaciónApto para clientes públicos.Requiere PKCE y URI de redireccionamiento seguro.

16.10 Aplicaciones web, , nativas y

Las aplicaciones web tradicionales mantienen el código y las credenciales en el servidor. El navegador solo recibe una de sesión protegida, mientras que el ejecuta el , almacena y llama a las . Esta separación reduce la exposición de los a JavaScript, pero requiere protección contra , fijación, y robo de sesiones.

Las son clientes públicos. El con es el flujo moderno, pero los almacenados en el navegador todavía están expuestos a y extensiones. Un para puede recibir el código, mantener en el servidor y exponer solo HttpOnly, Secure y SameSite al navegador. agrega estado e infraestructura pero reduce la huella del .

Las aplicaciones nativas utilizan navegadores externos y redirigen según enlaces de aplicaciones, enlaces universales, esquemas personalizados o loopback. Las vistas web integradas degradan la seguridad y la experiencia de . El sistema debe evitar que otra aplicación capture el de redireccionamiento y siempre combinar el mecanismo de devolución con .

Tabla 6: La arquitectura cambia donde se expone el token.
TipoClasificaciónAlmacenamiento preferidoFlujo
Web con backendconfidencialtokens en el servidor; cookie de sesión del navegadorAuthorization Code + PKCE.
puro SPApublicomemoria cuando sea posible; minimizar la persistenciaAuthorization Code + PKCE.
SPA con mejor amigamejor amiga confidencialtokens en BFF; cookie protegidaAuthorization Code + PKCE.
Aplicación nativapublicoalmacenamiento seguro del sistemaAuthorization Code + PKCE y navegador externo.

16.11

Las se utilizan cuando el cliente actúa por cuenta propia, sin un propietario de recurso humano en la transacción. El cliente se autentica en el y recibe un asociado con la identidad de la aplicación. Es adecuado para servicios, trabajos y automatizaciones que tengan sus propios permisos.

no debe usarse para simular usuarios ni transportar user_id arbitrario. La autorización debe basarse en el principal de la aplicación, su tenant, propietario y los permisos de la aplicación. Si un servicio necesita preservar el contexto del usuario al llamar a otro, es más adecuado el o on-behalf-of.

Dado que el puede abrir un acceso amplio, las credenciales estáticas deben reemplazarse con private_key_jwt, , identidad administrada o federación de cargas de trabajo cuando sea posible. Los de aplicación deben separarse de los delegados para evitar que un exclusivo de aplicación se confunda con la autoridad del usuario.

: ejemplo conceptual

POST /token
Authorization: Basic base64(client_id:client_secret)
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials
&scope=liquidaciones.process

Pregunta de revisión

Si la operación necesita saber “¿qué usuario autorizó?”, las por sí solas no proporcionan esa respuesta. Lo principal es la aplicación.

16.12 Device Authorization

La Device Authorization admite dispositivos con entrada limitada o sin un navegador conveniente. El cliente solicita y user_code, presenta al usuario un verification_uri y comienza a sondear el . El usuario completa la autenticación y autorización en otro dispositivo compatible con navegador.

El cliente debe respetar el intervalo, expires_in y errores como authorization_pending y slow_down. El sondeo agresivo crea carga y puede provocar bloqueos. El user_code debe ser lo suficientemente corto para escribirlo, pero protegido por limitación de velocidad, caducidad y vinculación al de alta entropía.

El flujo no debe usarse como acceso directo para aplicaciones que ya tienen un navegador adecuado. La interfaz debe mostrar claramente qué dispositivo y operación se está autorizando, reduciendo los ataques de phishing en los que la víctima ingresa un código enviado por un tercero.

Tabla 7: el flujo separa el dispositivo solicitante del canal de autenticación.
pasoartefactocontrolar
Iniciodevice_code + user_codedevice_code secreto; user_code corto y caducable.
Interacciónverificación_urimostrar el contexto del cliente y prevenir el phishing.
sondeodevice_coderespetar el intervalo y la desaceleración.
Conclusiónaccess token/actualizaciónvincularse al cliente y a la política aprobada.
Ciclo de vida de grants, access tokens y refresh tokens
Figura 3: Los tienen diferentes ciclos de vida y decisiones de revocación.

16.13 , rotación y reutilización

El es una credencial de alto valor porque le permite obtener nuevos sin repetir toda la interacción. Solo debe enviarse al , protegerse en un almacenamiento adecuado y limitarse al cliente y la autorización original. Los cortos reducen la exposición; Los mantienen una continuidad controlada.

Para los clientes públicos, BCP recomienda rotados o restringidos por el remitente. En rotación, cada uso produce un nuevo e invalida el anterior. Si vuelve a aparecer un antiguo, el servidor detecta un posible robo y revoca la familia o autorización correspondiente. La implementación debe manejar la simultaneidad y las respuestas perdidas sin crear falsos positivos.

Se deberá definir caducidad absoluta, caducidad por inactividad, revocación por cierre de sesión, cambio de contraseña, retirada del consentimiento y riesgo. El “ nunca caduca” transfiere todo el control a la revocación perfecta, algo difícil en los sistemas distribuidos. El cliente debe tratar invalid_grant como una necesidad de reautorización, no como un motivo para repetir indefinidamente.

Tabla 8: El refresh token necesita su propia política.
controlarObjetivoDecisión operativa
Rotacióndetectar reutilizaciónrevocar la familia y registrar el incidente cuando reaparezca el token antiguo.
Restricción del remitenteunirse a una clavevalidar mTLS/DPoP en cada renovación.
Caducidad absolutalimitar la duración totalrequerir una nueva autorización después de un período definido.
Inactividadcerrar autorizaciones abandonadasrenovarse sólo mientras exista un uso legítimo.
Revocaciónresponder al riesgo y al cierrepropagar rápidamente y auditar el motivo.

16.14 , , audience e indicadores de recursos

El solo debe ser aceptado por el para el cual fue emitido. Una amplia audience convierte un en un pase reutilizable entre . Los indicadores de recursos permiten al cliente declarar el recurso deseado durante la autorización o la solicitud de , lo que ayuda al a emitir específicos.

El representa la autoridad solicitada y concedida, pero su semántica debe estar documentada. Los como lectura y escritura son simples, pero pueden resultar ambiguos en plataformas grandes. Los nombres de dominio, operación y recursos ayudan: pagos.read, pagos.create y conciliacao.execute. El no reemplaza la autorización de estado de objeto, tenant o dominio.

El valida la audience, el y el contexto de la solicitud. Una no debería aceptar un porque contiene "admin" sin verificar el issuer, el tipo y el origen del . Los de autorización deben tener gobernanza: quién las emite, cuándo cambian, cómo se revocan y qué servicio tiene autoridad para interpretarlas.

Indicador de recursos: ejemplo conceptual

GET /authorize?response_type=code
  &client_id=app
  &resource=https%3A%2F%2Fapi.pagos.example
  &scope=pagos.read
Tabla 9 - La validación técnica y la autorización comercial son complementarias.
ElementoPregunta de validación
audience¿Se emitió este token para esta API o API Gateway?
scope¿La autoridad otorgada incluye la operación?
sujeto/cliente¿Quién es el mandante y qué aplicación opera?
tenant¿El principal y el recurso pertenecen al contexto permitido?
token type¿Es el artefacto un access token esperado, no un ID token u otro JWT?

16.15 opacos, introspección y revocación

El opaco no revela la estructura al cliente o al . La consulta el mediante introspección o utiliza un estado local distribuido. Este enfoque facilita la revocación inmediata y minimiza la exposición de , pero crea dependencias en la disponibilidad, latencia, autenticación de y política de .

La introspección devuelve atributos activos y autorizados para el solicitante. active=false debería ser una respuesta normal para un no válido, caducado, revocado o desconocido, sin revelar detalles. El necesita autenticar los servidores de recursos y limitar los datos que cada uno puede consultar. La caché reduce la carga, pero aumenta la ventana entre la revocación y la aplicación.

La revocación permite al cliente solicitar la invalidación. La respuesta exitosa no debería revelar si el existía. La revocación del normalmente cancela la capacidad de renovación; Los ya emitidos pueden continuar hasta que caduquen si son autónomos. Las arquitecturas de alto riesgo combinan eventos cortos, introspección, revocación o lista de denegados.

Introspección - ejemplo simplificado

POST /introspect
Authorization: Basic <credencial-del-resource-server>
Content-Type: application/x-www-form-urlencoded
token=TOKEN_OPACO
HTTP/1.1 200 OK
{
  "active": true,
  "client_id": "portal",
  "scope": "pagos.read",
  "exp": 1770000000
}

16.16 y validación de

permite que el valide firmas y localmente, lo que reduce las llamadas al . El perfil del estandariza las y los tipos útiles, pero la aún necesita conocer el issuer, la audience, los algoritmos y las claves confiables. La decodificación de no se valida.

La validación debe corregir los algoritmos permitidos, localizar la clave indicada por kid en confiable, verificar la firma, el issuer, la audience, el vencimiento, no antes, cuando esté presente y el tipo esperado. El debe rechazar los emitidos para otros usos, incluso si la misma clave firma de identificación. Las reglas de tipo y perfil ayudan a evitar confusiones entre los tipos de .

La rotación de claves requiere y actualización controlada. Cuando aparece un kid desconocido, la puede actualizar , pero no debe permitir que el apunte a una de clave arbitraria. La falla temporal de los metadata no debería invalidar inmediatamente todas las claves que aún son confiables; al mismo tiempo, el exceso de caché retrasa la eliminación de la clave comprometida.

Tabla 10 - La firma válida es solo uno de los controles.
ValidaciónNo evitar
firma y algoritmo fijotoken alterado o confusión de algoritmo.
issuer exactotoken de dominio que no es de confianza.
audiencereutilizar en otra API.
exp/nbf/relojutilizar fuera de la ventana permitida.
tipo/perfilconfusión entre access token, ID token y otros JWT.
scopes y claimsoperación más allá de la autoridad otorgada.

Contenido no cifrado

Un firmado normalmente protege la integridad, no la confidencialidad. Evite PII y datos innecesarios. El pasa por clientes, servidores , , herramientas y registros; trátelo como una credencial confidencial.

16.17 Consentimiento, least privilege y Rich Authorization

El consentimiento es una interfaz de decisión, no un sustituto de la política. En entornos corporativos, algunos permisos son aprobados por administradores o contratos, mientras que otros dependen del usuario. La pantalla debe identificar cliente, datos, acciones, duración y consecuencias, evitando técnicos incomprensibles.

El privilegio mínimo comienza con la definición de y continúa en el . Solicitar todos los “para evitar nuevos consentimientos” aumenta el impacto de las filtraciones. La autorización incremental le permite solicitar autoridad adicional solo cuando se utiliza la funcionalidad. El puede otorgar un subconjunto y el cliente debe verificar la respuesta.

Las Rich Authorization representan detalles estructurados como monto, moneda, cuenta y tipo de transacción. Esto permite autorizaciones más precisas que las cadenas de , especialmente en pagos y datos financieros. El objeto de autorización debe ser validado, firmado o protegido según el perfil adoptado y no debe ser aceptado como dato gratuito enviado por el cliente a la .

Rich Authorization : ejemplo de enseñanza

{
  "authorization_details": [{
    "type": "payment_initiation",
    "instructedAmount": {"currency": "BRL", "amount": "150.00"},
    "creditorAccount": {"iban": "EJEMPLO"}
  }]
}

16.18 , y

Pushed Authorization permiten al cliente enviar parámetros al a través del back-channel y recibir request_uri de corta duración. El navegador sólo lleva la referencia. Esto reduce la manipulación, la exposición y la longitud de la y permite la autenticación del cliente antes de la interacción del usuario.

-Secured Authorization representa la solicitud en un firmado y, opcionalmente, cifrado. El valida la integridad y el origen de los parámetros. y se pueden combinar: el cliente envía un objeto de solicitud firmado al y utiliza request_uri en el de autorización.

protege la respuesta de autorización en un firmado o cifrado. En lugar de depender únicamente de parámetros vagos en la redirección, el cliente valida el issuer, la audience, la firma y el tiempo. Estos mecanismos aumentan la complejidad y la gestión de claves, por lo que son más comunes en perfiles financieros, ecosistemas regulados e integraciones de alto riesgo.

Tabla 11 - Mecanismos de protección de las diferentes etapas del frente-canal.
MecanismoProtegeBeneficio
PARenviando parámetrosback-channel autenticado y URL acortada.
JARsolicitar contenidointegridad, origen y posible confidencialidad.
JARMrespuesta de autorizaciónfirma verificable, issuer y audience.
Comparación entre token de portador y token restringido por remitente
Figura 4: La proof-of-possession reduce la utilidad de un copiado.

16.19 Sender-constrained con y

El al portador funciona como dinero al portador: quien obtiene el valor puede presentarlo. El restringido por el remitente vincula el a una clave de cliente. El requiere, además del , la correspondiente proof-of-possession. El objetivo es reducir la después de fugas en registros, servidores , memoria o canales laterales.

Con , el asocia el con el certificado del cliente y el verifica el certificado presentado en la conexión. El cnf puede cargar la huella digital. La arquitectura debe garantizar que la observe la identidad correcta incluso cuando haya equilibradores de carga o que terminen las conexiones.

utiliza un de prueba firmado por el cliente en cada solicitud, que contiene el método , , hora, identificador único y enlace al . La valida firma, htm, htu, iat, jti, key y ath. es una protección de la capa de aplicación y no reemplaza a . El del servidor y el caché jti pueden fortalecer la defensa de según el riesgo.

Tabla 12 - La elección depende del cliente, la infraestructura y el riesgo.
Mecanismovínculopunto fuerteDesafío
mTLScertificado de conexiónfuerte para clientes y servicios controladosproxy, PKI y terminación TLS.
DPoPclave y prueba bajo peticiónaplicable sin certificado de clienteValidación de URI, reloj, jti y clave.
Portadorningunosimplicidad y compatibilidadreplay después de la copia del token.

16.20 y on-behalf-of

En las arquitecturas de servicios, es posible que el primer necesite llamar a otro manteniendo parte de la autoridad original. Reenviar el mismo a todos los servicios amplía las audiences y expone la credencial. le permite intercambiar un sujeto por otro apropiado para el siguiente recurso.

El nuevo puede representar al usuario, al servicio del actor o a ambos. Los de actor ayudan a registrar la cadena. La política debe limitar qué clientes pueden intercambiar , qué audiences pueden solicitarse y qué pueden conservarse. El intercambio no debe elevar el privilegio más allá del de entrada y la autoridad del actor.

On-behalf-of es una implementación de delegación en la que un servicio actúa on-behalf-ofl usuario. Los registros deben preservar el usuario, el cliente inicial, el servicio intermedio y la autorización efectiva. Si una llamada pasa por varios dominios de confianza, cada salto debe tratarse como una nueva decisión, no como una simple copia de los .

Tabla 13 - Preservar el contexto sin reutilizar indiscriminadamente la autoridad.
EstrategiaventajaRiesgo
Reenviar token originalsencilloamplia audience, fugas y acoplamiento.
Token Exchangetoken específico por saltocomplejidad y correlación de las políticas.
Sólo credencial de serviciosepara el backendPierde el contexto del usuario cuando es necesario.

16.21 Metadata del y recurso protegido

Los metadata del publican issuers, , métodos de autenticación, grants, y algoritmos. Los clientes deben obtener el documento fuente configurado y validar la coherencia entre el issuer y la . Los metadata simplifican la rotación y la interoperabilidad, pero no deberían convertir el descubrimiento en confianza automática.

Los metadata de recursos protegidos permiten que una publique identificadores de recursos, servidores de autorización relacionados, y métodos de presentación admitidos. Esto ayuda a los clientes y servidores de autorización a comprender cómo obtener para un recurso y mejora los desafíos de WWW-Authenticate.

Los metadata deben ser versionados y monitoreados como parte de la plataforma. Los cambios en el , el algoritmo o el issuer pueden dañar a todos los clientes. La caché debe respetar la disponibilidad sin congelar la configuración indefinidamente. Los entornos interno, externo y de homologación deben tener documentos separados para evitar la mezcla de confianza.

Metadata del : extracto ilustrativo

{
  "issuer": "https://id.example",
  "authorization_endpoint": "https://id.example/authorize",
  "token_endpoint": "https://id.example/token",
  "jwks_uri": "https://id.example/jwks.json",
  "code_challenge_methods_supported": ["S256"]
}
OAuth en arquitectura empresarial con API Gateway y backend
Figura 5 - La actúa como control transversal; La autorización del dominio permanece en el .

16.22 en , Axway y Azure

Las pueden validar , consultar introspección, requerir , imponer cuotas por client_id y propagar contexto confiable. Antes de insertar internos, la debe eliminar las versiones proporcionadas por el cliente. El debe aceptar estos solo desde una conexión autenticada proveniente de la .

En Azure Management, validate- y validate-azure-ad- pueden validar antes del . Las políticas pueden requerir issuer, audience y , mientras que la authentication-managed-identity permite que la obtenga un para un compatible. La configuración del portal para desarrolladores para facilita las pruebas, pero no reemplaza la aplicación de políticas.

En Axway , los filtros y servicios de pueden implementar políticas de , validación de , autenticación de clientes y servidores de recursos. La topología necesita registrar qué componentes emiten, qué validaciones, dónde se almacenan las claves y cómo se manejan la revocación y la rotación. A medida que cambien las versiones y las licencias, valide la documentación del producto instalado.

Administración de de Azure: política conceptual

<validate-jwt header-name="Authorization"
              require-expiration-time="true"
              require-signed-tokens="true">
  <openid-config url="https://id.example/.well-known/openid-configuration" />
  <audiences><audience>api://pagos</audience></audiences>
  <required-claims>
    <claim name="scp" match="any"><value>pagos.read</value></claim>
  </required-claims>
</validate-jwt>

División de responsabilidad

El valida issuer, audience, firma, tiempo, y requisitos transversales. El continúa verificando el tenant, la propiedad, el estado de la transacción, los límites comerciales y la autorización de objetos.

16.23 Amenazas y hardening

reduce la interceptación del . y el inicio de sesión requieren vínculo de y transaccional. La confusión requiere asociación al issuer. La manipulación del de redireccionamiento requiere una comparación exacta. La fuga de requiere , higiene de registros, correctos, almacenamiento seguro y reducción de . El puede requerir una sender constraint.

Los redirectores abiertos en el cliente o en el aumentan la omisión de código. Referer, el historial y analytics pueden capturar parámetros del front-channel. Los de se filtran fácilmente y no deben usarse como forma normal de presentación. Los deben seguir el Authorization y las respuestas necesitan un -Control adecuado.

Los servidores de autorización deben proteger los contra la fuerza bruta, el credential stuffing, la flooding y el abuso de user_code. Los clientes deben validar todas las respuestas y no mostrar detalles internos. Los servidores de recursos deben limitar los algoritmos, validar audiences y no confiar en sin espacio de nombres ni gobernanza. Cada implementación requiere un inventario de clientes, propietarios, grants, de redireccionamiento y claves.

Tabla 14 - Los controles deben producir evidencia observable.
Amenazacontrol principalevidencia
Intercepción de códigoPKCE S256 y código de un solo usoFallos y reutilización del verificador.
CSRF/inyección de inicio de sesiónestado vinculado a la sesiónestado ausente, divergente o consumido.
AS mix-upissuer vinculado y metadataissuer de respuesta y token endpoint utilizados.
Replay de tokensTTL, mTLS/DPoP y detecciónjti, huella digital y origen.
Actualizar robo de tokensdetección de rotación y reutilizaciónFamilia revocada y evento de riesgo.
Abuso de redireccióncomparación exacta y sin redirección abiertaURI registrado y URI recibido.

Prácticas desaconsejadas

No utilice credenciales de contraseña de propietario de recurso o de Implicit en proyectos nuevos. No almacene client_secret en el . No acepte de redireccionamiento por prefijo. No trate el como un . No acepte sólo porque "decodifica sin errores".

16.24 basada en evidencia

El diagnóstico comienza identificando el y el paso. El error en el de autorización implica parámetros, sesión, política y de redireccionamiento. El error del implica autenticación, código, verificador, concesión y reloj del cliente. El error de implica presentación, validación y autorización. Combinar estos pasos convierte invalid_grant en " no válido" o 403 en "fallo de inicio de sesión".

Recopile ID de correlación, issuer esperado, client_id, grant_type, de redireccionamiento normalizado, , audience, kid, hora y estado sin registrar ni códigos. Compara el reloj de los componentes. Confirme los metadata y a los que accede el runtime, no solo el cuaderno del operador. En entornos , registre el nombre de host, y el destino real.

Para la intermitencia, investigue la rotación de claves, múltiples nodos con divergente, simultáneo o reutilización de , balanceo sin afinidad de sesión y . Reproduzca con un único flujo controlado y sintéticos. Un puede funcionar en una y fallar en otra debido a una configuración o caché diferente.

Tabla 15 - Clasificar el paso antes de cambiar de política.
errorHipótesis inicialesevidencia
invalid_requestparámetro faltante, duplicado o incompatibleSolicitud normalizada y metadata.
invalid_clientmétodo, secreto, certificado o afirmaciónclient_id, método de autenticación, jti y huella digital del certificado.
invalid_grantcódigo caducado/usado, PKCE, URI de redireccionamiento o actualización revocadaestado de la transacción e historial de uso.
invalid_tokenfirma, issuer, audience, hora o revocacióncódigo de motivo interno y kid.
insufficient_scopetoken válido no se requiere autoridadscope otorgado y política de operación.
401/403 divergentediferentes capas respondieronVía, servidor, ID de solicitud y registros correlacionados.

Error externo estable; La causa detallada permanece en el registro seguro

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="pagos",
  error="invalid_token"
Content-Type: application/problem+json
{
  "type": "https://errors.example/oauth/invalid-token",
  "status": 401,
  "correlationId": "corr-8f12"
}

16.25 Estudios de casos

Caso 1 - con secreto incorporado

Un envía client_secret en el de solicitud. El valor es visible en el paquete y cualquier usuario puede copiarlo. La solución es registrar el cliente como público, usar el con y el de redireccionamiento exacto. Si el riesgo de en el navegador es alto, adopte y esté protegido por .

La investigación también verifica , almacenamiento de , , cierre de sesión y renovación. Simplemente eliminar el secreto no resuelve la exposición del o del persistente en localStorage.

Caso 2: aceptado por una incorrecta

Dos confían en el mismo issuer y clave, pero una de ellas no valida la audience. Se acepta para los pagos un emitido para informes. La solución es requerir una audience específica y separados. En sistemas críticos, los indicadores de recursos y los de recursos reducen la posibilidad de reutilización cruzada.

Las pruebas de contratos de seguridad deben enviar válidos a audiences vecinas y esperar el rechazo. Esta verificación negativa debe existir en la y en el cuando ambos validan los .

Caso 3: reutilizado después del tiempo de espera

El cliente utiliza un , recibe un tiempo de espera y repite la llamada. El primer procesamiento había emitido un nuevo ; la parece robo y la familia queda revocada. La solución combina idempotencia operativa, ventana de tolerancia controlada o lógica de cliente que serializa la renovación y maneja las respuestas perdidas.

Una tolerancia amplia debilita la detección de reutilización. La decisión debe considerar el riesgo, la red y la capacidad de correlacionar intentos. Los registros deben registrar la familia, el predecesor, el cliente y el resultado sin almacenar el valor bruto.

Caso 4: la valida, el rechaza

La acepta el para su propia audience y lo reenvía al , que espera el destinado a él. La arquitectura debe elegir: el confía en el contexto propagado por la en un canal autenticado, o la obtiene un nuevo para el utilizando una identidad administrada, o .

Reenviar el original solo es correcto cuando el es el para esa audience. La decisión debe documentarse en el contrato de seguridad y probarse con múltiples .

Laboratorios de observación

Laboratorio 1: con

  • Utilice un de laboratorio o un simulador autorizado.
  • Generar verificador aleatorio y desafío S256.
  • Ejecute el flujo correcto y registre solo valores sintéticos.
  • Repita con el verificador incorrecto, el estado divergente, el código reutilizado y el de redireccionamiento modificado.
  • Clasifique cada error por paso y .

Laboratorio 2: validación de audience y

  • Configure dos con diferentes audiences.
  • Emita el para la A e intente usarlo en la B.
  • Falta de prueba, caducado y issuer alternativo.
  • Compare la respuesta externa y el código de motivo interno.

Laboratorio 3: introspección y caché

  • Utilice de de introspección y laboratorio opacos.
  • Mida la latencia sin caché y con caché corto.
  • Revocar el y observar la ventana hasta el rechazo.
  • Documente la decisión entre disponibilidad y velocidad de revocación.

Laboratorio 4: rotación de

  • Obtenga un sintético.
  • Renovar y confirmar emisión del sucesor.
  • Reutilice el predecesor y observe la política familiar.
  • Simula dos renovaciones competidoras y analiza el resultado.

Laboratorio 5: política en la puerta de entrada

  • Configure el issuer, la audience y el en la del laboratorio.
  • Prueba de kid desconocido y actualización de .
  • Elimine los de identidad enviados por el cliente.
  • Solo propague validados y compárelos con la autorización de .

Resumen del capítulo

2.0 es un marco de delegación. El , el cliente, el y el tienen diferentes responsabilidades. El de autorización y el de utilizan canales diferentes, y cada artefacto (código, , y de ID) tiene su propio destinatario y ciclo de vida.

El con es la base moderna para aplicaciones basadas en usuarios. protege contra la interceptación, el estado vincula la transacción, el pertenece al y el issuer protege a los clientes de múltiples issuers. Los clientes públicos no tienen secretos fiables; Los clientes confidenciales pueden utilizar secret, private_key_jwt o .

Las representan la aplicación, la autorización del dispositivo cumple con la entrada limitada y los requieren restricciones de rotación o del remitente. Los necesitan una audience y un mínimos. Los opacos favorecen el control central; Los favorecen la validación local, pero requieren una verificación completa y gestión de claves.

, , y RAR fortalecen las solicitudes y respuestas; y reducen la ; controla la delegación entre servicios. Las aplican validación cruzada, mientras que los conservan la autorización del dominio. La seguridad depende del inventario, el privilegio mínimo, el de redireccionamiento exacto, la higiene del registro, la observabilidad y las pruebas negativas.

Siguiente paso del curso

El Capítulo 17 profundizará en OpenID Connect: , información de usuario, , acr, amr, autenticación federada, sesiones, cierre de sesión e integración segura de aplicaciones con proveedores de identidad.

Lista de verificación de 2.0

  • Cada cliente tiene un propietario, tipo, de redireccionamiento y grants registrados explícitamente.
  • El utiliza S256, incluso para clientes confidenciales.
  • El estado es aleatorio, de un solo uso y está vinculado al issuer, al de redireccionamiento y al verificador.
  • Los clientes públicos no dependen de client_secret.
  • Los de redireccionamiento utilizan coincidencias exactas y no contienen redirectores abiertos.
  • Las grants implícitas y de contraseña no se utilizan en proyectos nuevos.
  • Los tienen una audience y un mínimos.
  • El no se acepta como .
  • Los tienen rotación, restricción de remitente o política equivalente.
  • Los validan firma, algoritmo, issuer, audience, tipo y hora.
  • La introspección está autenticada y tiene con reconocimiento de revocación.
  • Los no aparecen en , registros, análisis o mensajes de error.
  • Se considera que o tienen un alto riesgo de .
  • La y el tienen una división de autorización explícita.
  • Se prueba la rotación de , certificados y .
  • Los errores de se pueden correlacionar sin revelar detalles confidenciales.
  • Los clientes, grants, consentimientos y tienen un proceso de terminación.

Ejercicios

  • Explique por qué 2.0 no es, por sí solo, un protocolo de autenticación de usuarios.
  • Diferenciar , , y .
  • Describir las verificaciones del con .
  • Explique por qué el estado y no se reemplazan entre sí.
  • Califica un y justifica por qué su client_secret no es confiable.
  • Compare client_secret_basic, private_key_jwt y .
  • modelo para un trabajo sin usuario.
  • Explique la detección de reutilización en la rotación de .
  • Compare el opaco con en cuanto a revocación y disponibilidad.
  • Enumere las validaciones obligatorias de un .
  • Explique los indicadores de audience y recursos en una plataforma con múltiples .
  • Compare , y .
  • Diferenciar entre vinculado a y vinculado a .
  • Proponer para tres servicios preservando al usuario.
  • Cree un script de para invalid_grant intermitente.

Glosario

Tabla 16 - Vocabulario esencial del capítulo.
TérminoDefinición
Access tokenCredencial presentada al resource server para ejercer la autoridad.
Authorization codeGrant breve y de un solo uso intercambiada en el token endpoint.
Authorization serverComponente que evalúa la autorización y emite tokens.
Bearer tokenToken utilizable por cualquier poseedor del valor.
ClientAplicación que solicita y utiliza autoridad.
Client CredentialsGrant en la que la solicitud actúa por cuenta propia.
Confidential clientCliente capaz de proteger las credenciales de autenticación.
device_codeArtefacto utilizado en el sondeo de Device Authorization Grant.
DPoPPrueba mediante solicitud que vincula el token a una clave.
GrantRepresentación de autorización utilizada para obtener el token.
IntrospectionConsulta autenticada sobre actividad y atributos de token.
JARSolicitud de autorización protegida en JWT.
JARMRespuesta de autorización protegida en JWT.
JWT access tokenAccess token estructurado y firmado según perfil.
PAREnvío de parámetros por adelantado vía back-channel.
PKCEPrueba que vincula el intercambio de código con la instancia del cliente.
Public clientEl cliente no puede mantener el secreto de manera confiable.
Refresh tokenCredencial utilizada para obtener nuevos access tokens.
Resource ownerEntidad capaz de otorgar acceso al recurso.
Resource serverAPI que acepta access tokens y protege los recursos.
ScopeRepresentación textual de la autoridad solicitada u otorgada.
Sender-constrained tokenToken vinculado a la prueba de una clave de cliente.
StateValor que vincula solicitud y respuesta y ayuda contra CSRF.
Token ExchangeGrant para intercambiar un token por otro adecuado a un nuevo contexto.

Anexo A - Matriz de elección de flujo

Tabla 17 - La elección final depende de la plataforma, el riesgo y la capacidad del cliente.
EscenarioFlujo inicialControles esenciales
Aplicación web con usuario.Authorization Code + PKCEURI de redireccionamiento exacto, confidencial, de estado, protegido por cookies y confidencial del cliente.
puro SPAAuthorization Code + PKCECliente público, refuerzo XSS, token corto y sin secreto.
Spa de mayor riesgoBFF + Authorization Code + PKCEtokens del lado del servidor, CSRF y cookie HttpOnly/SameSite.
Aplicación nativaAuthorization Code + PKCENavegador externo, aplicación/enlace universal y almacenamiento del sistema.
Servicio a servicioClient Credentialsprivate_key_jwt, mTLS o identidad de carga de trabajo; Audiencia mínima.
Dispositivo limitadoDevice Authorization GrantCódigo de usuario caducable, sondeo controlado y antiphishing.
cadena de servicioToken Exchange / on-behalf-ofAudiencia por salto, actor y correlación.
Ecosistema reguladoCódigo + PKCE + PAR/JAR/JARMRAR, sender constraint, firma y auditoría reforzada.

Referencias técnicas

  • . 6749: el marco de autorización de 2.0. 2012.
  • . 6750: uso de de portador de 2.0. 2012.
  • . 7009: Revocación de de 2.0. 2013.
  • . 7519: web ( ). 2015.
  • . 7636: clave de prueba para el intercambio de códigos por parte de clientes públicos de . 2015.
  • . 7662: Introspección de 2.0. 2015.
  • . 8252: 2.0 para aplicaciones nativas. 2017.
  • . 8414: Metadata del 2.0. 2018.
  • . 8628: Device Authorization 2.0. 2019.
  • . 8693: 2.0. 2020.
  • . 8705: vinculados a certificados y autenticación de cliente Mutual- de 2.0. 2020.
  • . 8725: Mejores prácticas actuales de web . 2020.
  • . 9101: Solicitud de autorización asegurada por . 2021.
  • . 9126: Pushed Authorization . 2021.
  • . 9068: perfil para 2.0. 2021.
  • . 9207: Identificación del issuer del 2.0. 2022.
  • . 9396: Rich Authorization de 2.0. 2023.
  • . 9449: 2.0 que demuestra proof-of-possession. 2023.
  • . 9700: mejores prácticas actuales para la seguridad de 2.0. 2025.
  • . 9701: Respuesta de para la introspección de de . 2025.
  • . 9728: Metadata de recursos protegidos de 2.0. 2025.
  • Grupo de trabajo . El marco de autorización 2.1 - Internet-Draft, versión consultada en 2026.
  • Microsoft aprende. Autenticación de Azure Management, validate- , validate-azure-ad- y políticas de identidad administrada.
  • Documentación Axway. Servicios 2.0, autenticación de clientes y validación de en .
  • Fundación OpenID. Perfil de seguridad de nivel financiero y especificaciones OpenID Connect, cuando corresponda al ecosistema.

Nota de actualización

evoluciona a través de , mejores prácticas actuales, perfiles y borradores. Antes de implementar un flujo o una política, valide la especificación actual, la documentación de la versión del producto y el comportamiento en un entorno autorizado. Trate los borradores de Internet como un trabajo en progreso, no como reemplazos automáticos de los .