Español

Herramientas de desarrollo · Decodificador JWT

Nunca pegue un token de acceso en vivo en un decodificador JWT del lado del servidor

· Por qué es importante

jwt seguridad privacidad

Un token de credencial separado de un servidor de carga remoto por un límite de privacidad claro
Ilustración original del vector ToolAcre

Un token al portador es una credencial: quien lo posea puede actuar como usted hasta que caduque. Esta publicación explica lo que entrega cuando pega uno en una herramienta que se comunica con su servidor y cómo depurar de forma segura.

La pasta rápida bajo presión: en el momento en que una credencial funcional sale de su máquina

Una API de producción responde 401 y el paso de depuración más rápido es pegar su JWT portador en un decodificador web. En ese momento podrá entregar una credencial de trabajo a un servidor no relacionado con su aplicación. Un panel de resultados que muestra reclamos legibles no le dice qué retuvo, registró o reenvió ese operador. Deténgase e identifique si el token está activo antes de tratar un decodificador conveniente como un formateador neutral.

Portador significa posesión es autoridad: por qué un token se parece más a una contraseña que a una identificación

Una credencial de portador otorga autoridad a quien la posee según las reglas del servicio emisor hasta que caduque o sea revocada. Su firma puede demostrar autenticidad ante un verificador con la clave correcta; no hace que sea seguro revelar el token. Algunos tokens otorgan acceso de solo lectura, otros autorizan escrituras u operaciones de cuentas privilegiadas. Incluso si confía en las afirmaciones que se muestran en su interior, enviar la cadena compacta completa proporciona los bytes de firma y los tres segmentos codificados al destinatario.

Lo que podría ver una herramienta del lado del servidor: el token completo, los reclamos que contiene y, en principio, la capacidad de reproducirlo mientras sea válido.

Un decodificador del lado del servidor puede recibir la cadena completa en su solicitud, ver la cuenta y reclamar sus nombres y, en principio, reproducirla en el servicio mientras sea válida. Si el operador realmente lo hace es una pregunta aparte que no se puede responder simplemente con una alegre frase de "no almacenamos tokens". Los registros, el rastreo, las extensiones del navegador y los servicios intermediarios pueden crear copias adicionales. Un simple POST sobre HTTPS cifra el viaje; no elimina el acceso del destino al texto claro después de su llegada.

Qué hay en la carga útil: identificadores de usuario, direcciones de correo electrónico, roles y alcances que son datos personales incluso sin repetición.

Una carga útil JWT está codificada en Base64url, no cifrada. Puede contener un identificador de sujeto, correo electrónico, función, alcance o ID de inquilino incluso si el token ha caducado y ya no puede otorgar acceso. Esos campos pueden ser personales o comercialmente sensibles independientemente de la firma. Una etiqueta de algoritmo y un reclamo de vencimiento son simplemente datos dentro del token hasta que un verificador confiable los verifique; El decodificador de ToolAcre no verifica deliberadamente la firma. No utilice su resultado como una decisión de permiso.

Hábitos de depuración más seguros: decodificación del lado del cliente, tokens de prueba o vencidos, y revocación o rotación después de cualquier exposición.

Prefiera un depurador fuera de línea o un script local que usted controle para obtener material de producción real. Utilice un token caducado, rotado o explícitamente sintético al demostrar un descodificador web público. Si se pegó un token funcional en una página que no es de confianza, gírelo o revoquelo en lugar de simplemente borrar el historial del navegador. La descodificación del lado del cliente es una mejora con respecto a la carga del valor, pero no es automáticamente segura: los scripts de página y las extensiones pueden leer la entrada DOM, y las páginas de desarrollo de producción de ToolAcre cargan scripts de terceros de conexión a sitios AdSense, GA4 y Tag Manager, incluso aunque la publicación de anuncios esté deshabilitada y los eventos de análisis de ToolAcre requieran consentimiento. No pegue un token de acceso en vivo en ningún sitio web, incluido ToolAcre.

Ejemplo resuelto: una sesión de depuración que inspecciona un token sin que salga del navegador, verificada en el panel de red

Cree un JWT de prueba inofensivo en un entorno de desarrollo, invalidelo e inspeccione esa copia con el panel de Red del navegador abierto. ToolAcre lo divide y decodifica en el código de la página sin que una solicitud de carga de ToolAcre lleve sus bytes; Puedes consultar esas solicitudes durante tu sesión. Es posible que aún veas los activos del sitio web y el tráfico de secuencias de comandos de terceros divulgado, por lo que un panel de Red vacío no es un reclamo. Compare el encabezado y la carga útil mostrados con sus datos de prueba confiables y observe la advertencia explícita de "firma no verificada" antes de interpretar cualquier afirmación.

Lo que esto no cubre: tokens filtrados a través de registros y URL, que son rutas de fuga separadas.

Este artículo no resuelve un token filtrado en los registros de aplicaciones, una cadena de consulta de URL, una pantalla compartida o una extensión del navegador. La decodificación local tampoco impide que un script malicioso que ya tiene acceso a su página lea sus campos de texto. Utilice vidas útiles cortas, ámbitos con privilegios mínimos y controles de registro seguros en el servicio emisor; un descodificador no puede adaptar esas propiedades a una credencial que se generó de forma insegura.

Conclusión: inspeccione localmente o no lo haga en absoluto: el decodificador ToolAcre JWT se ejecuta en el navegador, no almacena nada y nunca verifica, por lo que no necesita ni envía su token

Inspeccionar localmente o con datos desechables. El decodificador ToolAcre JWT lee y analiza un token pegado en su navegador y no lo verifica, por lo que puede ayudar a diagnosticar el formato sin otorgarle autoridad. Dado que esta sigue siendo una página web con otro código ejecutable, elija herramientas fuera de línea para obtener una credencial activa; El token de producción más seguro para pegar en un decodificador en línea es ninguno.