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?
Combina bien con esta guía: Simular un endpoint de API REST
Plantillas relacionadas
Última actualización: 2026-10-17