¿Qué es JWT y cómo funciona?

Los JWT son una forma compacta y segura de representar declaraciones para transferir entre partes. Se usan para garantizar la integridad y autenticidad de la información.

Daniel Costa

Daniel Costa

15 April 2025

¿Qué es JWT y cómo funciona?

Los JSON Web Tokens (JWT) son un medio compacto y seguro para URL de representar reclamaciones que se transferirán entre dos partes. Estas reclamaciones se utilizan a menudo para garantizar la integridad y la autenticidad de la información.

Este artículo explora cómo funcionan los JWT. Veremos la estructura de un JWT, que consta de tres partes codificadas y firmadas digitalmente. A continuación, analizaremos los casos de uso comunes de los JWT y revisaremos algunos de los beneficios de su uso.

La estructura de un JWT (con ejemplo)

Un JSON Web Token (JWT) consta de tres partes separadas por puntos: Cabecera, Carga útil y Firma. La estructura general es:

xxxxxxxxxx.yyyyyyyyyy.zzzzzzzzzz

Cabecera:

Carga útil:

Firma:

Reuniéndolo todo:

Header: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
Payload: eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ
Signature: HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)

JWT codificado:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwia

Los beneficios de usar JWT:

Los JWT contienen objetos JSON que están codificados y firmados, lo que garantiza la integridad y la autenticidad sin depender de sesiones con estado en el servidor.

Algunos de los beneficios clave que hacen que los JWT sean útiles son:

JWT vs OAuth: la diferencia entre JWT y OAuth

JWT (JSON Web Token) y OAuth están relacionados, pero tienen diferentes propósitos en el contexto de la autenticación y autorización en el desarrollo web. Aquí hay una breve comparación de JWT y OAuth:

JWT (JSON Web Token):

  1. Propósito: JWT es una forma compacta y autónoma de transmitir información entre partes de forma segura. Se utiliza comúnmente para la autenticación y el intercambio de información.
  2. Contenido: JWT contiene reclamaciones sobre una entidad (normalmente, un usuario) y se utiliza a menudo para la autenticación del usuario. Las reclamaciones pueden incluir el ID de usuario, los roles, los permisos y otra información relevante. Los JWT se utilizan a menudo para crear sistemas de autenticación sin estado.
  3. Uso: Los JWT generalmente se envían como parte de los encabezados de solicitud en las solicitudes HTTP. Se utilizan para representar la identidad y los privilegios del usuario.

OAuth (Open Authorization):

  1. Propósito: OAuth es un marco para la autorización, que permite a una aplicación de terceros acceder a los recursos de un usuario en otro servidor sin exponer las credenciales del usuario. OAuth no está diseñado para la autenticación, sino para la delegación de autoridad.
  2. Roles: OAuth define roles como Propietario del recurso, Cliente, Servidor de autorización y Servidor de recursos. Permite escenarios en los que un usuario puede otorgar acceso a sus recursos (por ejemplo, fotos, contactos) a otra aplicación sin compartir sus credenciales.
  3. Tipos de concesión: OAuth introduce tipos de concesión (código de autorización, implícito, credenciales de cliente, contraseña, etc.) para especificar cómo se debe llevar a cabo el proceso de autorización.
  4. Tokens: OAuth implica el uso de tokens de acceso y tokens de actualización. Los tokens de acceso se utilizan para acceder a los recursos protegidos, y los tokens de actualización se pueden utilizar para obtener un nuevo token de acceso.

Diferencias clave:

¿Cómo funciona JWT?

Los JSON Web Tokens (JWT) desempeñan un papel clave en la autenticación al proporcionar una forma segura y eficiente de verificar la identidad de los usuarios. El proceso generalmente implica los siguientes pasos:

  1. Autenticación del usuario: Los usuarios inician sesión con su nombre de usuario y contraseña o a través de proveedores externos como Google o Facebook. El servidor de autenticación valida las credenciales y emite un JSON Web Token (JWT) que certifica la identidad del usuario.
  2. Generación de JWT: El proveedor de identidad (IdP) genera un JWT, firmándolo con una sal secreta o una clave privada. Este JWT encapsula información esencial del usuario, como el ID de usuario, los roles y el tiempo de caducidad.
  3. Uso de JWT: El cliente del usuario almacena de forma segura el JWT obtenido durante la autenticación. Al acceder a los recursos protegidos, el cliente incluye el JWT en el encabezado de autorización HTTP.
  4. Verificación de tokens: El servidor de recursos decodifica y verifica la autenticidad del JWT utilizando la sal secreta o la clave pública proporcionada. Este proceso garantiza la integridad y el origen del token.

JWT en Apidog

Apidog es una herramienta de prueba y desarrollo de API fácil de usar que destaca en la gestión de JSON Web Tokens (JWT). Con su interfaz intuitiva, Apidog simplifica el proceso de manejo de JWT, brindando soporte automático para la generación de tokens, la gestión dinámica y la inclusión perfecta en las solicitudes de API.

JWT

Esta herramienta agiliza los aspectos relacionados con JWT del desarrollo de API, lo que permite a los desarrolladores centrarse en pruebas e integración eficientes dentro de sus flujos de trabajo.

button

Explore more

Cómo usar Ollama: Guía Completa para Principiantes sobre LLMs Locales con Ollama

Cómo usar Ollama: Guía Completa para Principiantes sobre LLMs Locales con Ollama

El panorama de la inteligencia artificial evoluciona constantemente, y los Grandes Modelos de Lenguaje (LLM) se vuelven cada vez más potentes y accesibles. Aunque muchos interactúan con estos modelos a través de servicios basados en la nube, existe un movimiento creciente enfocado en ejecutarlos directamente en computadoras personales. Aquí es donde entra Ollama. Ollama es una herramienta potente pero fácil de usar, diseñada para simplificar drásticamente el complejo proceso de descargar, config

28 April 2025

¿Dónde Descargar Swagger UI en Español Gratis?

¿Dónde Descargar Swagger UI en Español Gratis?

¿Necesitas Swagger UI en español? Este artículo explica por qué no existe una descarga oficial gratuita y cómo habilitar la traducción. Explora las características de Swagger y por qué Apidog es la alternativa superior para diseño, pruebas y documentación API integrados.

23 April 2025

¿Dónde Descargar Postman en Español Gratis?

¿Dónde Descargar Postman en Español Gratis?

¿Puedes descargar Postman en español gratis? Aunque Postman carece de soporte nativo en español, existen soluciones. Explóralas y descubre Apidog, una potente alternativa unificada a Postman diseñada para optimizar todo tu flujo de trabajo de API, sin importar el idioma.

22 April 2025

Practica el diseño de API en Apidog

Descubre una forma más fácil de construir y usar APIs