Security - Yorbre25/P3SOA_MY_microRESTaurant GitHub Wiki

JSON Web Token (JWT)

JSON Web Tokens (JWT) son una forma compacta y aut贸noma de transmitir informaci贸n de forma segura entre partes como un objeto JSON. Esta informaci贸n puede ser verificada y confiable ya que est谩 firmada digitalmente, utilizando un algoritmo de cifrado (normalmente HMAC o RSA). Los JWT son com煤nmente utilizados en autenticaci贸n y autorizaci贸n, permitiendo que las aplicaciones web mantengan sesiones de usuario de una manera eficiente y sin necesidad de almacenamiento del estado en el servidor. Un token JWT se compone de tres partes: el encabezado, la carga 煤til y la firma, separadas por puntos (header.payload.signature), y suelen ser transmitidos en los encabezados HTTP bajo el esquema "Bearer".

En el contexto de autenticaci贸n, cuando un usuario inicia sesi贸n con sus credenciales, el servidor genera un JWT y se lo entrega al cliente. Este token es entonces enviado por el cliente en cada solicitud posterior, permitiendo al servidor validar la identidad del usuario y autorizar el acceso a recursos espec铆ficos.

En este caso ciframos el rol del usuario (si es admin), su nombre, correo, entre otros. Para cualquier solicitud que pueda resultar comprometedora, como por ejemplo, reservar un cita o ascender un usuario a admin. Se envia el token al backend por medio del header para verificar si la petici贸n es v谩lida.