ForHosting KIT · Utilidades de desarrollo

Decodificar un JWT

Un JWT parece legible en cuanto lo pega en cualquier decodificador — así fue diseñado el formato — pero leer el encabezado y el payload no dice nada sobre si el token es genuino. Esta API separa ambas tareas: decodifica los claims al instante y, aparte, confirma si la firma realmente se emitió con su clave, y no solo se copió de un token que parecía legítimo.

● EstableGratis · en su navegador
Úselo desde WebAPIEmailApp prontoTelegram pronto

Corre en su navegador. Gratis y sin límite: sus datos no salen de esta página.

Decodificar y verificar son dos preguntas distintas

Como un JSON Web Token solo está codificado en base64url, no cifrado, cualquiera puede pegar la sección central en la consola del navegador y leer los claims; eso no requiere ningún secreto ni demuestra nada. La verificación es la pregunta real: ¿coincide la firma con lo que su emisor habría producido con su clave privada o compartida? Confundir ambas cosas es una fuente común de errores de autenticación, y por eso este endpoint las trata como entradas separadas y explícitas.

Cómo funciona la solicitud

Envíe POST /dev/jwt-decode con el token y, si quiere verificación de firma, el secreto correspondiente (para HS256) o la clave pública (para RS256/ES256). La tarea corre de forma asíncrona y devuelve un task_id de inmediato; el encabezado decodificado, los claims del payload, el estado de expiración y un veredicto claro de firma válida o inválida llegan por webhook firmado o por un enlace firmado disponible durante 24 horas.

El origen del formato, en breve

Los JWT se estandarizaron en el RFC 7519 en 2015 para darle a los sistemas distribuidos una forma compacta y autocontenida de pasar claims entre partes sin ir y volver a un almacén central de sesiones. Esa característica sin estado también es su principal trampa: un token que se decodifica sin problemas puede estar expirado, emitido por la parte equivocada o firmado con un algoritmo que su servicio nunca debería aceptar, por lo que decodificar solo nunca debe confundirse con autenticar.

Dónde lo usan los equipos

Este endpoint se llama desde herramientas de depuración que necesitan inspeccionar el token de un cliente durante un ticket de soporte, desde servicios backend que validan tokens emitidos por un proveedor de identidad externo, desde suites de pruebas que verifican que claims como exp, aud y role estén correctos, y desde pipelines de logs que necesitan extraer un ID de usuario de un access token sin levantar toda la capa de autenticación.

Qué llega de vuelta

La respuesta separa el encabezado, el payload y el resultado de verificación para que su código nunca tenga que adivinar qué parte es cuál. Los tokens malformados, las claves faltantes o los algoritmos no soportados devuelven un error claro en lugar de un fallo silencioso, y como las tareas fallidas nunca se cobran, puede probar entradas malformadas durante la depuración sin preocuparse por el costo.

Depuración de tickets de soporte

Pegue el token expirado o rechazado de un cliente para ver sus claims exactos y su expiración sin escribir un script desechable.

Validación de tokens entre servicios

Verifique tokens emitidos por un proveedor de identidad externo antes de que su backend confíe en los claims que contienen.

Aserciones automatizadas en pruebas

Compruebe en CI que los tokens emitidos llevan los claims correctos de audience, issuer y role antes de publicar un release.

Enriquecimiento de logs y analítica

Extraiga un ID de usuario o de tenant de un access token durante el procesamiento de logs sin cargar una librería de autenticación completa.

¿Decodificar un JWT requiere la clave secreta?

No, leer el encabezado y el payload solo requiere el token; el secreto o la clave pública únicamente se necesitan si además quiere verificar la firma.

¿Qué algoritmos de firma puede verificar este decodificador de JWT?

HS256 con secreto compartido, y RS256 o ES256 con clave pública, lo que cubre los algoritmos que emiten por defecto la mayoría de los proveedores de identidad.

¿Es gratuita la API para decodificar JWT?

La herramienta de arriba es gratis en su navegador. La API es de pago: cada llamada se descuenta de su saldo prepago de ForHosting KIT — se recarga desde $10.00 (no caduca), se paga el precio publicado de cada solicitud, y una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens, y una tarea fallida no se cobra.

¿Cuánto cuesta decodificar o verificar un token?

$0.002 por solicitud, ya sea que solo decodifique los claims o también verifique la firma, y las tareas fallidas nunca se cobran.

¿Puede indicarme si mi token ya expiró?

Sí, la respuesta incluye el estado de expiración junto con los claims decodificados, así que no necesita calcularlo usted mismo a partir del campo exp.

¿Es seguro enviar tokens de producción a esta API?

Los tokens y las claves se usan solo para procesar esa solicitud puntual y se eliminan después del período de retención, nunca se usan para entrenar modelos.

¿Qué pasa con un token malformado o truncado?

La API devuelve un error claro y específico que indica qué parte no se pudo analizar, en lugar de un fallo genérico.

¿Cómo se entrega el resultado?

Por webhook firmado, recomendado para flujos automatizados, o por un enlace firmado que permanece válido durante 24 horas.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/dev/jwt-decode

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.

curl -X POST https://api.kit.forhosting.com/dev/jwt-decode \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":["valor-1","valor-2"]}'
{
  "items": [
    "valor-1",
    "valor-2"
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.jwt_decode",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ver la documentación completa del KIT →