Simular um endpoint JWKS para verificação de JWT

Um mock GET em /.well-known/jwks.json retornando uma chave RSA no formato JWK Set.

Um endpoint JWKS publica as chaves públicas que um cliente usa para verificar assinaturas JWT. Este modelo serve um JWK Set contendo uma chave RSA em /.well-known/jwks.json, para que você possa testar se o seu cliente busca, analisa e armazena em cache o conjunto de chaves — incluindo como ele se comporta quando uma ID de chave está faltando ou rotacionada.

Substitui um endpoint de API de terceiros.

Payload de resposta

{
  "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 valem a pena conhecer

Campo O que significa
keys O array JWK Set; adicione mais entradas para testar a lógica de rotação de chaves.
keys.0.kid O ID da chave que o cabeçalho de um JWT referenciaria para escolher esta chave.
keys.0.alg O algoritmo de assinatura que esta chave afirma suportar.
keys.0.n O módulo RSA, codificado em base64url — apenas ilustrativo, não é uma chave funcional.

Criar o 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\"}]}"
}'

Chame-o

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

O que você obtém

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

Como isso difere do original

A chave RSA neste documento é apenas ilustrativa — O Quickmock não possui uma chave privada correspondente, então ele nunca pode verificar uma assinatura real. Use-o para verificar se seu cliente analisa um documento JWKS corretamente, não para validar tokens reais.

Fontes

FAQ

Posso verificar tokens reais com esta chave?
Não. A chave RSA é ilustrativa e não há chave privada correspondente, então nada pode produzir uma assinatura que ela validaria. Use isso para testar o parsing e caching de JWKS, não a verificação de assinatura.
Como eu testo a rotação de chaves?
Adicione uma segunda entrada ao array de chaves com um kid diferente, depois edite o mock para remover a primeira. Um cliente que faz cache do conjunto de chaves indefinidamente continuará falhando após a remoção — que é o bug que este teste pretende expor.
O que acontece se um token referenciar um kid desconhecido?
Um cliente correto busca o conjunto de chaves novamente uma vez, e depois rejeita o token se a chave ainda estiver ausente. Servir um conjunto que não possui o kid esperado é a maneira mais limpa de verificar se o seu cliente não entra em loop ou trava.

Pronto para usar?

Abrir no construtor de mocks para ajustar primeiro

Combina bem com este guia: Simular um endpoint de API REST

Modelos relacionados

← Todos os modelos

Última atualização: 2026-10-17