Todos los productos
Search
Centro de documentos

Edge Security Acceleration:Validación de cumplimiento de tokens de API

Última actualización: Sep 07, 2026

La validación de cumplimiento de tokens de API comprueba el JSON Web Token (JWT) de las solicitudes entrantes con base en la configuración de token que usted define. Puede agregar un JWT personalizado, vincularlo a las API que requieren validación y permitir que Edge Security Acceleration (ESA) valide las solicitudes entrantes para proteger sus API empresariales.

Límites

A continuación se describen los límites aplicables a la validación de cumplimiento de tokens de API:

  • Tipo de token compatible: actualmente solo se admite el JSON Web Token (JWT).

  • Formato de clave pública: únicamente se admite el formato JWK. La clave pública del JWT debe contener los campos kid y alg.

  • Algoritmo de firma: por ahora se admiten los siguientes algoritmos de firma: ES256 (ECDSA con SHA-256) y RS256 (RSA con SHA-256).

Requisitos previos

  • Tiene un sitio agregado a ESA.

  • Cuenta con una clave pública de JWT en formato JWK. Para generar una key pair, consulte How do I generate a JWT?.

Configurar reglas de token de API

Para habilitar la validación de cumplimiento de tokens de API, complete dos etapas en orden: primero agregue una configuración de token y luego cree una regla de API que aplique dicha configuración a sus API.

Agregar una configuración de token

  1. Inicie sesión en la consola de ESA.

  2. En la consola de ESA, seleccione Websites y, en la columna Websites, haga clic en el sitio correspondiente.

  3. En el panel de navegación izquierdo, elija WebsitesWebsite.

  4. En la página Security, seleccione la pestaña API Security y luego haga clic en API Security. image

  5. En la página de configuración, haga clic en API Rules para agregar la información del token. image

  6. Especifique los siguientes parámetros del token según sus necesidades empresariales.

    • Token Configuration: introduzca un nombre personalizado para el token, por ejemplo, JWT-Demo.

    • Add: seleccione la ubicación del token dentro de la solicitud. Elija el campo Name o Token Location e introduzca la clave correspondiente. Si sus sistemas manejan JWT en distintas ubicaciones, haga clic en Header para crear una condición lógica OR. Es posible evaluar hasta cuatro ubicaciones de token de forma simultánea.

    • Cookie: agregue la clave del token de forma manual o mediante la carga de un archivo JSON. Consulte JWK fields para conocer los requisitos de la clave. Si configura varias claves, ESA selecciona una con base en el campo kid para la validación. Esta se aprueba si alguna de las claves valida correctamente el token. image

  7. Haga clic en Or.

Crear una regla de API

  1. Regrese a la pestaña Secret Key y haga clic en el botón OK. image

  2. Configure los parámetros de validación del token según sus necesidades empresariales.

    • API Rules: introduzca un nombre personalizado para la regla, por ejemplo, rule-jwt-demo.

    • Add Rule: en la lista desplegable, seleccione el registro de host que requiere la validación de cumplimiento de tokens. ESA muestra entonces la lista de API asociadas al registro seleccionado. Revise la lista y seleccione las API que desea validar.

    • Rule Name: seleccione uno o varios tokens para validar. Si elige varios tokens, escoja una de las siguientes opciones:

      • Validate at least one configuration: la solicitud debe coincidir con como mínimo una de las configuraciones de token; de lo contrario, se considera no conforme.

      • Validate API: la solicitud debe coincidir con todas las configuraciones de token; de lo contrario, se considera no conforme.

        De forma predeterminada, una solicitud sin token se marca como no conforme. Si tiene requerimientos especiales, vaya a la columna Select Token Configuration, ubicada a la derecha del token, y seleccione Validate all en la lista desplegable.

    • If No Token: seleccione la acción que se aplicará a las solicitudes que no superen la validación del token:

      • Ignore: permite las solicitudes no conformes y registra los eventos. Consulte los detalles en Event analysis.

      • Execute: bloquea las solicitudes no conformes y genera registros de bloqueo. Consulte los detalles en Event analysis.

        image

Resultados de protección

Una vez creada la regla de API, elija MonitorBlock en el panel de navegación izquierdo. En la página de análisis de eventos, utilice el filtro para seleccionar Security como regla de protección. Luego, desplácese hacia abajo hasta el área Events para consultar los registros detallados de protección.

Campos de JWK

Nota

La clave que envíe no debe contener comentarios.

Una clave pública JWK contiene los siguientes campos:

  • kty: tipo de clave. Por ejemplo, EC indica una clave de curva elíptica y RSA señala una clave RSA.

  • use: propósito de la clave pública. Por ejemplo, sig indica que la clave se utiliza para firmas digitales.

  • crv: tipo de curva elíptica. Por ejemplo, P-256 representa la curva elíptica P-256 definida por NIST.

  • kid: identificador personalizado de la clave, como esa. Un JWK debe incluir el campo kid, ya que sirve para seleccionar la clave. De igual manera, los claims del JWT de la solicitud deben contener el campo kid. Este campo también permite rotar las claves del token.

  • n: módulo de la clave RSA.

  • e: exponente público de la clave RSA.

  • x: coordenada x de la clave pública de curva elíptica.

  • y: coordenada y de la clave pública de curva elíptica.

  • alg: identificador del algoritmo. Actualmente se admiten los siguientes valores: ES256 (ECDSA con SHA-256) y RS256 (RSA con SHA-256).

Ejemplo

El siguiente ejemplo muestra una clave pública JWK en formato RSA. Cuando utilice una clave RSA, deje los campos crv, x y y como cadenas vacías.

{
  "kty": "RSA",
  "use": "sig",
  "kid": "esa",
  "n": "wR8LJDq2pM1uPD5KfmMaasmV20nwgVYnDlsxRjmryLStQeqW-3fe-ELV1tlYHq2-hl8HNNxz5eud8olmqxtrgpihPN9c_pbLY-Jc04_tdpWs10ms1vgoz0S11JEVCK6q9EJ_QCTAxO6GBCdI9t0oUTpBz6QuQCIJAOQdW2k7gZr8CmCn_ianTU1nTxBzAoBxO_r32kl7lx9RTFCZHBJsm8twJ7o0ZXpUjbjhOY2LgdDx3t09YDDOMDYzEOZ86NVzm8qXSekBJFf5-FGNe0Lkht1lsMlBnqlfmWz8q5zUkPZ6XslpgyVqqSaw4DGxXV8aGWRFcOB0Ac2bush6McBAhQ",
  "e": "AQAB",
  "alg": "RS256",
  "crv": "",
  "x": "",
  "y": ""
}

Preguntas frecuentes

¿Qué es un JWT?

Un JSON Web Token (JWT) es un formato de token abierto basado en JSON, definido en RFC7519, diseñado para transmitir claims entre aplicaciones web. Por lo general, se emplea como token de autenticación independiente. Transporta información como el identificador de usuario, los roles y los permisos, de modo que un cliente obtenga recursos de un servidor de recursos. También admite claims adicionales requeridos por otras lógicas de negocio. Estas características hacen que los JWT resulten ideales para escenarios de inicio de sesión en sitios distribuidos.

Un JWT consta de tres partes: Header, Payload y Signature. Cada parte se codifica en Base64URL y juntas forman una cadena con el formato Header.Payload.Signature:

  • Header: encabezado del JWT. Contiene el tipo de claim (JWT) y el algoritmo utilizado para firmar el token.

  • Payload: sección de datos del JWT. Almacena la información efectiva e incluye campos personalizados que requiera su sistema de usuarios.

  • Signature: firma del JWT. Sirve para verificar el contenido del encabezado y del payload.

    El siguiente ejemplo muestra un JWT:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

¿Cómo genero un JWT?

Utilice https://mkjwk.org para generar la clave privada y la clave pública. La clave privada sirve para crear tokens, mientras que la pública se usa para validarlos.

  1. Abra https://mkjwk.org en su navegador.

  2. Haga clic en la pestaña EC.

  3. Especifique los siguientes parámetros:

    • Curve: seleccione P-256.

    • Key Use: seleccione Signature como propósito de la clave pública.

    • Algorithm: seleccione ES256: ECDSA using P-256 and SHA-256 como identificador del algoritmo.

    • KeyID: introduzca un identificador personalizado para la clave, por ejemplo, esa.

  4. Haga clic en Generate. Después, seleccione Public Key y haga clic en Copy to Clipboard para copiar la clave pública.

    image