Simular un endpoint JWKS para la verificación JWT

Un mock GET en /.well-known/jwks.json que devuelve una clave RSA en formato de conjunto JWK.

Un endpoint JWKS publica las claves públicas que un cliente usa para verificar firmas JWT. Esta plantilla sirve un JWK Set con una clave RSA en /.well-known/jwks.json, de modo que puedas comprobar que tu cliente descarga, analiza y cachea el conjunto de claves, incluido cómo se comporta cuando falta un identificador de clave o cuando se rota.

Sustituye a un endpoint de API de terceros.

Payload de respuesta

{
  "keys": [
    {
      "kty": "RSA",
      "use": "sig",
      "alg": "RS256",
      "kid": "quickmock-demo-2024",
      "n": "n6cS6BgeHi-qEzBkR5cS-MPBwt1dG9y-tGiSTw8Uov3jMu9Yiz6Oua5dg6xKnEhP20owo6iHI_MMSjU6Sb6iKSyIskDb5myN9DHC6exkDsoKPn5tPOIbzXeV0SaF-b3BejNwakl5nfHVHFMkbLCvx9KP985_5k3b7hD1UTdBOFYLIgHWTIlUkV1L9o5DoiGMm2GYWxww3tL_ZFllp4i4yyPP6c4D_J7kgFukBBZZBGe3Ou1QvzcNUYoaRNRK1PRBsC24xSfN1oZYBd4xpg6Kp3xmpsGR2nzWCviSWbvHatFusy_NqCq2Io1EAeup_i0eIN86t2-G7rn4Uoul27BQcQ",
      "e": "AQAB"
    }
  ]
}

Campos que vale la pena conocer

Campo Lo que significa
keys El array de conjunto JWK; añade más entradas para probar la lógica de rotación de claves.
keys.0.kid El ID de la clave (kid) que el encabezado de un JWT referenciaría para elegir esta clave.
keys.0.alg El algoritmo de firma que esta clave afirma apoyar.
keys.0.n El módulo RSA, en formato base64url — solo ilustrativo.

Crear el mock

curl -X POST https://quickmock.dev/api/mocks \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "GET",
  "response_status": 200,
  "content_type": "application/json",
  "path_suffix": ".well-known/jwks.json",
  "response_body": "{\"keys\":[{\"kty\":\"RSA\",\"use\":\"sig\",\"alg\":\"RS256\",\"kid\":\"quickmock-demo-2024\",\"n\":\"n6cS6BgeHi-qEzBkR5cS-MPBwt1dG9y-tGiSTw8Uov3jMu9Yiz6Oua5dg6xKnEhP20owo6iHI_MMSjU6Sb6iKSyIskDb5myN9DHC6exkDsoKPn5tPOIbzXeV0SaF-b3BejNwakl5nfHVHFMkbLCvx9KP985_5k3b7hD1UTdBOFYLIgHWTIlUkV1L9o5DoiGMm2GYWxww3tL_ZFllp4i4yyPP6c4D_J7kgFukBBZZBGe3Ou1QvzcNUYoaRNRK1PRBsC24xSfN1oZYBd4xpg6Kp3xmpsGR2nzWCviSWbvHatFusy_NqCq2Io1EAeup_i0eIN86t2-G7rn4Uoul27BQcQ\",\"e\":\"AQAB\"}]}"
}'

Llamarlo

curl https://quickmock.dev/m/<slug>/.well-known/jwks.json

Lo que obtienes

GET /m/<slug>/.well-known/jwks.json -> 200 one RSA JWK
the key is illustrative only, it does not verify any real signature

En qué se diferencia de la realidad

La clave RSA de este documento es solo ilustrativa: Quickmock no guarda la clave privada correspondiente, así que nunca podrá verificar una firma real. Úsala para comprobar que tu cliente analiza correctamente un documento JWKS, no para validar tokens reales.

Fuentes

Preguntas frecuentes

¿Puedo verificar tokens reales con esta clave?
No. La clave RSA es ilustrativa y no existe una clave privada que le corresponda, así que nada puede producir una firma que ella validase. Úsala para probar el análisis y el cacheo de JWKS, no la verificación de firmas.
¿Cómo pruebo la rotación de claves?
Añade una segunda entrada al array de claves con un kid distinto y luego edita el mock para quitar la primera. Un cliente que cachee el conjunto de claves indefinidamente seguirá fallando tras la eliminación, que es justo el fallo que esta prueba busca destapar.
¿Qué pasa si un token hace referencia a un kid desconocido?
Un cliente correcto vuelve a descargar el conjunto de claves una vez y, si la clave sigue ausente, rechaza el token. Servir un conjunto al que le falta el kid esperado es la forma más limpia de comprobar que tu cliente no entra en bucle ni revienta.

¿Listo para usarlo?

Ábrelo en el generador de mocks para ajustarlo primero

Combina bien con esta guía: Simular un endpoint de API REST

Plantillas relacionadas

← Todas las plantillas

Última actualización: 2026-10-17