Está en la página 1de 6

UNIVERSIDAD TÉCNICA DE MANABÍ

FACULTAD DE CIENCIAS INFORMÁTICAS


CARRERA DE TECNOLOGÍA DE LA INFORMACIÓN

MATERIA

DESARROLLO DE APLICACIONES WEB

TEMA

JWT

DOCENTE

Ing. Edison Solorzano Solorzano

ESTUDIANTE

Millet Rodríguez Jean

Diciembre 8, 2023

Universidad Técnica de Manabí


JWT
JWT (JSON Web Token) es un estándar abierto que permite la transmisión
segura de información entre partes como un objeto JSON. Se utiliza principalmente para
la autenticación y autorización en aplicaciones web y servicios API. JWT consta de tres
partes: el encabezado, la carga útil y la firma. El encabezado especifica el tipo de token
y el algoritmo de cifrado utilizado, la carga útil contiene los datos que se desean
transmitir y la firma verifica que el token no ha sido alterado durante la transmisión. El
emisor crea el token, lo firma con una clave secreta y lo envía al receptor. Este último
puede verificar la validez del token utilizando la clave pública del emisor. JWT es útil
ya que permite la autenticación sin necesidad de consultar la base de datos en cada
solicitud, lo que mejora el rendimiento y la escalabilidad de las aplicaciones.
(techstartingpoint, 2020)

Comandos de instalación
Para trabajar con JWT en diferentes lenguajes de programación, se utilizan
librerías o paquetes que incluyen comandos para su instalación.

Node.js (JavaScript)
Para trabajar con JWT en Node.js, se puede utilizar la librería jsonwebtoken.
Podemos instalarla a través de npm, el gestor de paquetes de Node.js:

npm install jsonwebtoken

Una vez instalado, podremos utilizar los comandos de esta librería para generar,
firmar y verificar tokens JWT en la aplicación Node.js.

Python
En Python, una de las librerías más utilizadas para trabajar con JWT es PyJWT.
Podemos instalarla utilizando pip, el gestor de paquetes de Python:

pip install PyJWT

Con PyJWT instalado, podremos usar los comandos y funciones proporcionados


por la librería para manejar tokens JWT en las aplicaciones Python.

Universidad Técnica de Manabí


Java
En Java, existen varias librerías que puedes utilizar para manejar JWT, una de
las más comunes es jjwt (Java JWT). Podemos agregar esta librería a nuestro proyecto a
través de Maven si estamos usando este sistema de gestión de dependencias:

<dependency>

<groupId>io.jsonwebtoken</groupId>

<artifactId>jjwt-api</artifactId>

<version>0.11.2</version>

</dependency>

<dependency>

<groupId>io.jsonwebtoken</groupId>

<artifactId>jjwt-impl</artifactId>

<version>0.11.2</version>

<scope>runtime</scope>

</dependency>

<dependency>

<groupId>io.jsonwebtoken</groupId>

<artifactId>jjwt-jackson</artifactId>

<version>0.11.2</version>

<scope>runtime</scope>

</dependency>

Esto se agregaría a nuestro archivo pom.xml si estamos usando Maven para


gestionar las dependencias de nuestro proyecto Java.

Universidad Técnica de Manabí


Ruby
En Ruby, podemos utilizar la gema jwt para manejar JWT. Podemos instalarla
usando el gestor de gemas de Ruby:

gem install jwt

Una vez instalada, podrás utilizar esta gema para generar y verificar tokens JWT
en tus aplicaciones Ruby.

PHP
En PHP, una librería popular es firebase/php-jwt. Podemos instalarla utilizando
Composer, el gestor de dependencias de PHP:

composer require firebase/php-jwt

Una vez instalada, podremos usar las funciones proporcionadas por esta librería
para trabajar con tokens JWT en los proyectos PHP.

C#
En C#, podremos trabajar con JWT utilizando la librería
System.IdentityModel.Tokens.Jwt, que forma parte de las herramientas de seguridad
de .NET. No es necesario instalarla por separado, ya que está incluida en las bibliotecas
de .NET y puedes usarla directamente en los proyectos.

Funcionalidad y uso
JWT es utilizado principalmente para la autenticación y autorización en
aplicaciones web y servicios API. Algunos de sus usos más comunes incluyen:

 Autenticación de usuario: Los tokens JWT se emiten al autenticar usuarios y


pueden almacenar información como identificación de usuario, roles o permisos.
 Comunicación entre servicios: JWT facilita la transferencia de información entre
distintos servicios de una aplicación distribuida, asegurando la autenticidad de los
datos transmitidos.
 Estado de sesión sin servidor: Al contener toda la información necesaria, los tokens
JWT permiten mantener el estado de sesión del usuario sin necesidad de almacenar
datos en el servidor, lo que facilita la escalabilidad y la descentralización.

Universidad Técnica de Manabí


 Seguridad: La firma digital de los tokens proporciona un mecanismo para verificar
la integridad de la información y garantizar su autenticidad, evitando manipulaciones
no autorizadas. (ciberseguridad, 2021)

CONCLUSIONES
El uso generalizado de JSON Web Tokens (JWT) en el desarrollo de
aplicaciones web refleja una tendencia hacia soluciones eficientes, seguras y flexibles
en la transferencia de información entre diferentes componentes de un sistema. La
creciente popularidad de JWT se puede atribuir a varias razones clave.

En primer lugar, la simplicidad de JWT simplifica significativamente la


implementación y la integración en el desarrollo de aplicaciones. Su estructura
compacta basada en JSON facilita la comprensión y el manejo de los tokens, lo que
agiliza el proceso de autenticación y autorización. La simplicidad inherente de JWT
contribuye a la eficiencia en el desarrollo, permitiendo a los equipos de desarrollo
centrarse en otros aspectos cruciales de la aplicación.

La versatilidad de JWT es otra característica destacada. Al ser independiente de


la plataforma y del lenguaje de programación, JWT se adapta fácilmente a diversas
tecnologías y entornos de desarrollo. Esto lo convierte en una opción atractiva para
arquitecturas de aplicaciones heterogéneas y sistemas distribuidos, donde la
interoperabilidad es esencial.

La seguridad también juega un papel fundamental en la preferencia por JWT. La


capacidad de firmar digitalmente los tokens proporciona un mecanismo sólido para
garantizar la integridad de la información transmitida y la autenticidad de las partes
involucradas. Además, la encriptación opcional de los datos dentro del token agrega una
capa adicional de seguridad, asegurando que la información sensible permanezca
confidencial durante su transporte.

Universidad Técnica de Manabí


BIBLIOGRAFÍA
ciberseguridad. (10 de diciembre de 2021). Obtenido de ciberseguridad:
https://ciberseguridad.com/guias/prevencion-proteccion/autenticacion-jwt/

techstartingpoint. (26 de agosto de 2020). Obtenido de techstartingpoint:


https://www.techstartingpoint.com/es/que-es-jwt-para-que-sirve-y-como-
funciona/

Universidad Técnica de Manabí

También podría gustarte