Saltar al contenido principal
La restricción del remitente es un mecanismo de seguridad de y Connect (OIDC) que vincula criptográficamente los tokens de acceso y los con la aplicación cliente específica que los obtuvo, lo que evita el robo y el uso indebido de tokens. Auth0 admite la restricción del remitente con mTLS y Demonstrating Proof-of-Possession (DPoP). Si habilitas la restricción del remitente para una aplicación cliente, también debes exigirla para el al que haces llamadas a la API. Para configurar la restricción del remitente en Auth0, debes:

Cómo funciona

tienen restricción del remitente en Auth0 en función de cómo configures la restricción del remitente para tu aplicación cliente y tu servidor de recursos:
  1. Audiencia solicitada: En una solicitud de token, influye en si los tokens de acceso tienen restricción del remitente el hecho de que la audiencia solicitada sea solo /userinfo, que esté destinada únicamente a usarse con el endpoint /userinfo, o que sea una API personalizada que puede incluir /userinfo cuando también solicitas el scope openid.
  2. Aplicación cliente: Si estableces la restricción del remitente como required para la aplicación cliente.
  3. Servidor de recursos: Si configuras la restricción del remitente para el servidor de recursos:
    1. none: No has configurado la restricción del remitente para el servidor de recursos.
    2. allowed: Has configurado la restricción del remitente para el servidor de recursos estableciendo un método de restricción del remitente.
    3. required: Has configurado la restricción del remitente como obligatoria para el servidor de recursos, lo que significa que los tokens de acceso deben tener restricción del remitente para una aplicación. Puedes exigir la restricción del remitente para todas las aplicaciones o solo para las aplicaciones públicas. Requiere un método de restricción del remitente.
Al usar mTLS como método de restricción del remitente, la restricción del remitente siempre es obligatoria para todas las aplicaciones. Las aplicaciones públicas no son compatibles con mTLS, por lo que no puedes limitar la restricción del remitente con mTLS solo a clientes públicos.
  • Proof-of-Possession: Si la aplicación cliente envió una aserción de prueba de posesión en la solicitud de token:
    • Restricción del remitente con mTLS: La prueba de posesión se demuestra mediante la presentación satisfactoria por parte del cliente de una clave privada específica (asociada a un certificado de cliente) durante el handshake de TLS.
    • DPoP: La prueba de posesión se logra cuando el cliente crea un JWT de prueba DPoP, lo firma criptográficamente con su clave privada e incluye el JWT de prueba DPoP en el encabezado HTTP DPoP de cada solicitud en la que se usa el token de acceso asociado.
La siguiente tabla describe cómo se emiten los tokens de acceso y si tienen restricción del remitente en función de varios parámetros de solicitud del cliente y de las configuraciones del servidor de recursos de Auth0:
Tipo de audiencia solicitada¿El cliente requiere PoP?¿El cliente envió una prueba de posesión (PoP)?Política del servidor de recursos de Auth0: NonePolítica del servidor de recursos de Auth0: Allowed (No obligatoria)Política del servidor de recursos de Auth0: Required
Solo UserinfoNoNoEmitido, sin restricción del remitenteN/AN/A
Solo UserinfoNoEmitido, con restricción del remitenteN/AN/A
Solo UserinfoNoNo emitidoN/AN/A
Solo UserinfoEmitido, con restricción del remitenteN/AN/A
Audiencia personalizada (puede contener Userinfo)NoNoEmitido, sin restricción del remitenteEmitido, sin restricción del remitenteNo emitido
Audiencia personalizada (puede contener Userinfo)NoEmitido, sin restricción del remitenteEmitido, con restricción del remitenteEmitido, con restricción del remitente
Audiencia personalizada (puede contener Userinfo)NoNo emitidoNo emitidoNo emitido
Audiencia personalizada (puede contener Userinfo)No emitidoEmitido, con restricción del remitenteEmitido, con restricción del remitente

Configurar Sender Constraining para una aplicación cliente

Cuando exiges Sender Constraining para una aplicación cliente, los tokens de acceso quedan restringidos a esa aplicación. Auth0 verifica las solicitudes para garantizar que solo la aplicación que solicitó el token pueda usarlo para acceder al recurso asociado. Una vez que configures una aplicación cliente para exigir Sender Constraining, puedes establecer el método de Sender Constraining, ya sea mTLS o DPoP, al configurar tu servidor de recursos. Puedes configurar Sender Constraining para una aplicación cliente con el o la .
  1. Ve a Dashboard > Applications > Applications. Selecciona la aplicación que quieres configurar.
  2. En Settings, desplázate hasta Token Sender-Constraining.
  3. Activa Require Sender Constraining. Desactíalo para quitar el requisito de Sender Constraining de la aplicación.

Configurar la restricción del remitente para un servidor de recursos

Los tokens de acceso emitidos por Auth0 pueden quedar restringidos al remitente (es decir, la aplicación cliente) que necesita acceder a las API de un servidor de recursos. Puede configurar la restricción del remitente para un servidor de recursos con el Auth0 Dashboard o la Management API.
Para habilitar Token Binding o Sender Constraining, configure API Settings de su API.
  1. Vaya a Auth0 Dashboard > Applications > APIs.
  2. Seleccione la API que desea configurar.
  3. En la pestaña Settings, busque la sección Token Sender-Constraining.
  4. Configure lo siguiente:
    1. Método de Sender Constraining:
      1. None: No habilite ningún método de Sender Constraining para su servidor de recursos.
      2. mTLS: Habilite mTLS como método de Sender Constraining para su servidor de recursos.
      3. DPoP: Habilite DPoP como método de Sender Constraining para su servidor de recursos.
    2. Require Token Sender Constraining: Seleccione qué política de Sender Constraining se aplica a esta API:
      1. Always: Requiera Sender Constraining para todas las aplicaciones. Esta es la única opción disponible al usar mTLS.
      2. For Public Applications: Requiera Sender Constraining solo para aplicaciones públicas. Esta opción no está disponible al usar mTLS.
      3. Never: No se requiere Sender Constraining.
Auth0 Dashboard > APIs > Settings > Vinculación de tokens