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.

alg
kid
iss

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.