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.
Seguridad para aplicaciones web java con json web tokens (jwt) 2020Eudris Cabrera
Al desarrollar una aplicación, la seguridad es un punto muy importante. Cualquier código o aplicación que se ejecute en una red es vulnerable a los riesgos y puede amenazar los problemas de privacidad, seguridad e integridad.
JSON Web Token, comúnmente conocidos como JWT, es un estándar abierto (RFC 7519) que define un modo compacto y autónomo para transmitir de forma segura la información entre las partes como un objeto JSON.
En esta presentación exploramos varias alternativas para la seguridad y haciendo énfasis en la autenticación basada en token
Seguridad para aplicaciones web java con json web tokens (jwt) 2020Eudris Cabrera
Al desarrollar una aplicación, la seguridad es un punto muy importante. Cualquier código o aplicación que se ejecute en una red es vulnerable a los riesgos y puede amenazar los problemas de privacidad, seguridad e integridad.
JSON Web Token, comúnmente conocidos como JWT, es un estándar abierto (RFC 7519) que define un modo compacto y autónomo para transmitir de forma segura la información entre las partes como un objeto JSON.
En esta presentación exploramos varias alternativas para la seguridad y haciendo énfasis en la autenticación basada en token
Voip2day video conferencia grado militar usando software libreFernando Villares
En esta conferencia demostramos como podemos hacer un sistema viable de videoconferencia de seguridad de grado militar usando solo software y hardware libres con infraestructura de autenticacion y autorizacion PKI
Voip2day video conferencia grado militar usando software libreFernando Villares
En esta conferencia demostramos como podemos hacer un sistema viable de videoconferencia de seguridad de grado militar usando solo software y hardware libres con infraestructura de autenticacion y autorizacion PKI
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