¡E aí, gente! Lucas aquí desde São Paulo.
Al implementar inicios de sesión de usuarios en aplicaciones web modernas, los tokens web JSON (JWT) son el estándar de la industria. Pero veo a muchos desarrolladores que utilizan bibliotecas para manejar JWT sin entender qué son realmente.
Las tres partes de un JWT
Si observa un JWT, son solo tres cadenas de apariencia aleatoria separadas por puntos: `header.payload.signature`.El mayor error es creer que los JWT están cifrados. NO lo son. El encabezado y la carga útil están simplemente codificados en Base64. Cualquiera que intercepte el token puede decodificarlo y leer su carga útil (¡por eso nunca debes poner contraseñas o información confidencial dentro de ellos!).
La tercera parte, la firma, es lo que la hace segura. Demuestra que el token fue generado por su servidor y no ha sido manipulado.
Tokens de decodificación para depuración
Cuando depuro problemas de autenticación de front-end, siempre uso la herramienta local JWT Decoder. Pego el token y al instante me muestra la carga útil JSON para que pueda verificar si los roles de usuario y las marcas de tiempo de vencimiento son correctos. Dado que la herramienta se ejecuta completamente en el navegador, mis tokens de sesión nunca están expuestos a terceros.¡Comprenda sus herramientas y escribirá código mucho mejor!