JSON Web Token (JWT) es un estándar abierto que permite la transmisión segura de información entre aplicaciones a través de un token que contiene datos de forma autónoma y está firmado digitalmente para garantizar su integridad y autenticidad. JWT se usa comúnmente para autenticación de usuarios y autorización en aplicaciones y sistemas distribuidos, y Spring Boot proporciona funcionalidad para crear, validar y manejar tokens JWT de forma segura.
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
JWT.pptx
1. Introducción a JSON Web
Tokens (JWT) y su
implementación en Spring Boot
Grupo 1:
-Bussano Franco
-Escobar Maximiliano
-Guarmes Agustín
-Sueldo Simón
2. Introducción a JSON Web Tokens (JWT)
¿Qué es JSON Web Token (JWT)?
JSON Web Token (JWT), o Token JSON Web, es un estándar abierto y altamente utilizado que permite una transmisión eficiente y segura de información
entre diversas aplicaciones o entidades. Se presenta en un formato compacto y autónomo, lo que significa que contiene toda la información necesaria para
su validación sin requerir consultas externas.
Este token no solo transporta datos, sino que también garantiza su integridad y autenticidad mediante una firma digital. La información contenida en el
JWT puede ser verificada y confiable, ya que está firmada utilizando una clave secreta compartida entre el emisor y el receptor, o mediante el uso de un
par de claves pública y privada.
JWT encuentra aplicación en una amplia gama de escenarios, como la autenticación de usuarios, la autorización en sistemas distribuidos y la transferencia
segura de datos entre servicios web. Su versatilidad y seguridad lo convierten en una herramienta fundamental para la comunicación segura y confiable
entre diferentes partes en el mundo digital.
Características y funcionamiento de JWT
Integridad y Autenticidad: El contenido del token está protegido mediante una firma digital. Esto garantiza que la información no se haya alterado durante
la transmisión y que el origen del token sea auténtico.
Autenticación y Autorización: JWT se utiliza comúnmente para la autenticación de usuarios. Después de que un usuario inicia sesión, se emite un JWT que
contiene información sobre el usuario y sus permisos. Este token se envía en las solicitudes posteriores para verificar la identidad y los accesos del usuario.
Autónomo: Un JWT es autocontenible y lleva consigo toda la información necesaria para su interpretación y validación. Esto reduce la necesidad de
consultar bases de datos o servicios adicionales, lo que mejora la eficiencia y la velocidad de las transacciones.
Versatilidad: JWT es utilizado en una variedad de contextos, desde la autenticación en aplicaciones web y móviles hasta la autorización en sistemas de
servicios web y microservicios. Su flexibilidad se debe a la capacidad de incluir datos personalizados en forma de pares clave-valor.
3. Estructura de un JSON Web Token (JWT)
Componentes
de un JWT:
Header
Payload
Signature
4. Estructura de un JSON Web Token (JWT)
Cabecera (Header)
Tipo de token (JWT) y algoritmo de firma
Ejemplo de una cabecera: {"alg": "HS256", "typ": "JWT"}
Carga útil (Payload)
Explicación
Tipos de afirmaciones: Registradas, públicas y privadas
Ejemplo de carga útil: {"sub": "1234567890", "name": "John Doe", "admin": true}
Firma (Signature)
Cómo se crea y verifica
Por ejemplo, si desea utilizar el algoritmo HMAC SHA256, la firma se creará de la siguiente
manera: HMACSHA256(
base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)
5. Ventajas y casos de uso de JWT
Ventajas de usar JWT en autenticación y autorización
Bla bla
Bla bla
Casos de uso comunes:
Autenticación de usuarios e inicio de sesión único: este es el escenario más común para
usar JWT. Una vez que el usuario haya iniciado sesión, cada solicitud posterior incluirá el
JWT, lo que permitirá al usuario acceder a rutas, servicios y recursos permitidos con ese
token. El inicio de sesión único es una función que se usa ampliamente en JWT en la
actualidad, debido a su pequeña sobrecarga y su capacidad para usarse fácilmente en
diferentes dominios.
Intercambio de información segura: los tokens web JSON son una buena manera de
transmitir información de forma segura entre las partes. Debido a que los JWT se pueden
firmar, por ejemplo, utilizando pares de claves pública/privada, puede estar seguro de
que los remitentes son quienes dicen ser. Además, como la firma se calcula utilizando el
encabezado y la carga útil, también puede verificar que el contenido no haya sido
alterado.
6. Implementación de JWT en Spring Boot
Implementación de JWT en Spring Boot
Creación y emisión de JWT en Spring Boot
Validación y autorización con JWT en Spring Boot
Gestión de tokens y seguridad