Verificación JWT con clave pública
Validador JWKS
Verifica un JWT usando un JSON Web Key Set de confianza. Lee kid, selecciona un JWK compatible y comprueba la firma en el navegador.
La firma se verifica en el navegador. La carga remota solo solicita la URL JWKS que indiques; el JWT no se envía a ese endpoint ni a una API de verificación.
La herramienta no sigue automáticamente jku ni x5u del token. Trata la fuente JWKS como configuración de confianza, no como algo que el token no verificado pueda elegir.
Cómo valido un JWT con JWKS
Empiezo leyendo alg y kid, y luego uso un JWKS que ya confío para el issuer esperado. No dejo que un token no verificado elija la fuente de claves.
RFC 7517 define un JWK Set con array keys y kid suele seleccionar una clave durante rotación. Coincidir por kid no basta: alg, uso y confianza del issuer también importan.
1. Leer alg + kid
Inspecciono el header sin tratar esos valores como configuración de confianza.
2. Elegir JWK de confianza
Relaciono kid y filtro por kty, alg, use y key_ops.
3. Verificar + validar
Después de la firma compruebo exp/nbf y opcionalmente issuer/audience.
Algoritmos compatibles
RS256/384/512, PS256/384/512 y ES256/384/512 mediante Web Crypto API. HMAC se excluye porque un JWKS público no debe exponer un secreto compartido.
Por qué no sigo jku o x5u automáticamente
Seguir URLs controladas por el token puede crear SSRF y romper el límite de confianza. Solo se carga la URL JWKS que introduces explícitamente.
Guías de JWKS
Las consulto cuando falla la verificación basada en JWKS.