No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

JWT: Gestión de acceso

7/29
Recursos

Aportes 22

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Anatomía de un JWT

JWT es un estándar de la industria que nos permite manejar demandas de información entre dos clientes.
.
Un JSON Web Token es un estandar que nos permite generar demandas entre 2 clientes de manera segura.
Un JWT está encriptado, pero tiene 3 partes principales divididas por “.” (punto)

  1. Header: Contiene los archivos de configuración (el tipo y el algoritmo de encriptación)
  2. Payload: Guarda la información de nuestros usuarios
  3. Signature: es la firma que contiene el header códificado más el payload códificado, para poder dar acceso a un contenido, éste deberá de ser firmado con un secret, que es la clave secreta con la que se firman los tokens, misma que sólo la deberá de conocer el backend.

Dentro del payload tenemos información que puede ser relevante para la autorización tal como:

  • La expiración
  • Id’s
  • Nombres
  • etc
    .
    Es importante saber que los JWT acabarán firmando mucha parte de la comunicación, por lo que no es recomendable que mucha información viaje, ésto puede acabar alentando tu aplicación.

Platzi tiene un curso muy bueno en dónde hablan a profundidad de JWT. Recomendado: https://platzi.com/clases/1439-autenticacion-oauth/15810-json-web-tokens5758/

normalmente lo que uno hace en el frontend es guardar el token en localstorage. Pero que pasa si alguien abre la consola del navegador y extrae el token guardado? asi de facil puede robarte tu identidad, mas alla del tiempo de vida del token nunca supe como resolver ese pequeño detalle de seguridad…algun iluminado?

En el minuto 2 se menciona que la información que va en el token no se puede leer, si no, solamente el backend, pero aportando un poco, es posible ver lo que esta en el payload de un token sin tener el secret, lo que no es posible es hacer cambios en el token y frmarlo.

Tener cuidado en el token no se debe poner información sensible, ya que si se puede leer.

Sin duda el mejor curso de Platzi hasta la fecha, nunca me habia sentido tan motivado y feliz con un curso.

En el minuto 3 aproximadamente se equivoca al decir algoritmo HB265, cuando es HB256

‘No reinventes la rueda’ usar algo que alguien ya ha creado para la encriptación y seguridad: Esto no es inseguro?

Cuidado que el contenido del token si se puede leer, lo que no se puede hacer es modificarlo sin el secret.

ten en cuenta que si eres fullstack y estes utilizando jwt en algunas rutas que modifican los datos del usuario se aplica una autenticación de token un userAuth y en la parte del frontend tendrás que pasarlo como cabecera, yo soy junior y la verdad esto se me complico bastante espero le sirva a alguien

Entonces donde se recomienda guardar ese secreto? sino es en el código?

  • Autenticación -> Va a decir quién eres tú. Es genérica y global.
  • Gestión de permisos -> Va a decir qué puedes hacer. Depende del componente, archivo, contexto, etc.

Especialmente en seguridad: NO reinventes la rueda.

JWT: estándar para la creación de tokens de acceso.

Super genial el curso!

Excelente curso! 😄

JWT vs OAuth 2.0 ? JWT ayuda con la autenticación y OAuth 2.0 los permisos? no estoy muy seguro.

Genial

Excelente 😃

ten en cuenta que si eres fullstack y estes utilizando jwt en algunas rutas que modifican los datos del usuario se aplica una autenticación de token un userAuth y en la parte del frontend tendrás que pasarlo como cabecera, yo soy junior y la verdad esto se me complico bastante espero le sirva a alguien

Mucho valor en los cursos de este profesor, genial.

No es el algoritmo HB265 cuando es HB256