¿Qué es JWT (JSON Web Tokens)?

Autor: | Última modificación: 10 de abril de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post:

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Sabes qué es JWT o JSON Web Tokens y para qué funciona? Si aún no lo sabes, pero te gustaría conocerlo, te recomendamos seguir leyendo este artículo. A continuación, exploraremos el concepto principal, la estructura del Web Token, las aplicaciones y como funciona jwt . Así pues, en este post te presentamos todos los conceptos que rodean la pregunta de qué es JWT.

¿Qué es JWT (JSON Web Tokens)?

JWT es un objeto de JSON (notación de objeto de JavaScript), una herramienta de estándar abierto cuyo objetivo es establecer una transmisión de información entre dos o más campos. A partir de estos, se puede propagar información de forma segura y efectiva, que, además, es verificada, pues se firma de forma virtual. Este conjunto de información toma la referencia de web token, bajo el estándar abierto de JSON.

Cómo funciona

El jsonwebtocken puede funcionar desde cualquier espacio, ya que su tamaño no es muy extenso. Puede establecerse en sitios como URL, parámetros de respuesta POST o dentro de un header HTTP.

A diferencia de otros elementos representados como token de la informática, JWT Tokens están conformados por claims (demandas), con las que se realiza la transmisión de información de uno a otro lado. Estos datos pueden ser relevantes a la forma de acceso, al tiempo válido, a los permisos y a cualquier otro concepto que se relacione con información de dos espacios de la web.

Estructura

JSON Web Token es una cadena compuesta por tres partes separadas por un punto (.) y se serializa usando la base número 64. Las tres partes que componen este token son: header, paylod y signature. Según los expertos, puede verse sintácticamente de la siguiente manera:

xxxxx.yyyyy.zzzzz.

A continuación, te contaremos a qué refiere cada componente.

Header

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

En primer lugar, el header es el primer componente del token y consiste de dos partes: el tipo de token que, en este caso, es JWT, y el algoritmo que se está utilizando, que puede ser RSA o SHA256.

// header.payload.signature

{

«alg»: «HS256»,
«typ»: «JWT»

}

Payload

En el payload se encuentran los claims (demandas) de token. Estas son sobre una entidad (user, objeto) y otro tipo de información que lo acompaña. Los tipos de demandas son: registrado, privado y público. Los registrados son claims que no son obligatorios, pero que sí son recomendados, algunos de ellos son iss (issuer), sub (subject) o exp (expiration time), entre otros.

Los privados, por otro lado, se crean para compartir información entre los dos objetos o sitios.

{ «sub»: «5832874973»,

«name»: «Keepcoding» }

Signature

En el componente de signature deberás firmar el header codificado, el payload token codificado, el secret y el algoritmo que se ha establecido en el header. Esto se realiza para verificar que no existe ningún cambio en las respuestas o contenido de los componentes.

Según la página del JWT, un ejemplo podría ser:

HMACSHA256(

base64UrlEncode(header) + «.» +

base64UrlEncode(payload), secret)

Ventajas de la estructura

Algunas ventajas que salen gracias a su estructura es que el JSON Web Token tiene un tamaño compacto, por lo que puede establecerse en cualquier elemento, como los que mencionamos anteriormente. Por otro lado, es self-contained, por lo que tiene toda la información necesaria para compartir información, así como para autenticar y autorizar.

Por último, una de las ventajas más importantes de los jws es que son multiparadigma, es decir, trabajan en varias plataformas, tales como .NET, Python, Node.js, Java, PHP, Ruby y JavaScript.

Aplicaciones

para entender qué es jwt (json web token), es imprescindible hablar de sus casos de uso más recurrentes, que son:

  • Para el intercambio de información entre dos sitios. Como se firma digitalmente, puede utilizarse en una key pair segura en el campo privado y público. La información, después, puede ser verificada por la public-key al final.
  • Por último, gracias a que el JWT posee información encontrada en el payload, puede utilizarse para autenticar el user de la sesión.

De esta manera, ya sabes cómo funciona, para qué sirve y qué es JWT (un JSON Web Token).

¿Quieres seguir aprendiendo?

Ahora que sabes qué es JWT o JSON Web Tokens, seguramente harás uso de esta herramienta en los procesos que empieces a emprender. No obstante, esta es solo una de las muchas herramientas que podrías aprender en una formación intensiva como la del Full Stack Jr. Bootcamp Aprende a Programar desde Cero de Keepcoding. ¿Quieres darle un giro a tu vida y convertirte en programador en menos de un año? ¡Solicita más información y da el paso que impulsará tu carrera!

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python, Java y Spring Boot en solo 6 meses.