Cookies y sesiones
Clase 12 de 19 • Curso de Introducción al Desarrollo Backend
Contenido del curso
Clase 12 de 19 • Curso de Introducción al Desarrollo Backend
Contenido del curso
Alvaro Eduardo Garzón Pira
Alvaro Eduardo Garzón Pira
leonardo javier abreu martinez
Joaquín J. Barros T.
JUAN CAMILO CAMPO TANGARIFE
Juan Camilo Maldonado Perez
Pablo Cesar Acosta Paredes
Raymundo Pizano González
Jhon Zapata
Felix Torres Javier Antonio
Jackssuriss Tatiana Herrera Florez
David Elias Gatica Morales
Ramger Deivi Duran
Pablo Luna Guzmán
Juan Felipe Rodriguez Valencia
Joaquin Ignacio Pinto Reynolds
José Alberto Ramírez Quiroz
Juan Miguel Jimenez
Itzam G
Erick Marcial Machacado Rizo
Daniel Alexander Rentería Pino
Jackssuriss Tatiana Herrera Florez
Alvaro O.
Diego Boyatjian
Bryan David Gutierrez Alvarez
Diego Boyatjian
Platzi Team
Cristian Camilo Cortes Ortiz
¿JWT qué tan utilizado es?
Hola tú, solo quería mencionarte que la Platzi Fake Store también cuenta con documentación para JWT y le puedas echar un vistazo de como funciona o al menos tener una idea, te dejo el enlace a la documentación: JWT
Denny, ¡Gracias!
Cookies y sesiones
Las cookies son pequeños fragmentos de texto que los sitios web que visitas envían al navegador. Permiten que los sitios web recuerden información sobre tu visita, lo que puede hacer que sea más fácil volver a visitar los sitios y hacer que estos te resulten más útiles. Otras tecnologías, como los identificadores únicos que se usan para identificar un navegador, aplicación o dispositivo, los píxeles y el almacenamiento local, también se pueden usar para estos fines. Las cookies y otras tecnologías que se describen en esta página pueden usarse para los fines indicados más abajo.
Funcionalidad
Las cookies y otras tecnologías que se usan con fines de funcionalidad te permiten acceder a funciones esenciales de un servicio. Se consideran esenciales, por ejemplo, las preferencias, (como el idioma que has elegido), la información relacionada con la sesión (como el contenido de un carrito de la compra), y las optimizaciones de los productos que ayudan a mantener y mejorar ese servicio.
Algunas cookies y otras tecnologías se utilizan para recordar tus preferencias. Por ejemplo, la mayoría de las personas que usan los servicios de Google tienen en sus navegadores una cookie denominada "NID" o "ENID", dependiendo de sus opciones de cookies. Estas cookies se usan para recordar tus preferencias y otra información, como el idioma que prefieres, el número de resultados que quieres que se muestren en cada página de resultados de búsqueda (por ejemplo, 10 o 20) y si quieres que el filtro Búsqueda Segura de Google esté activado o desactivado. La cookie "NID" caduca 6 meses después del último uso del usuario, mientras que la cookie "ENID" dura 13 meses. Las cookies "VISITOR_INFO1_LIVE" y "YEC" tienen un propósito similar en YouTube y también se usan para detectar y resolver problemas con el servicio. Estas cookies tienen una duración de 6 y 13 meses, respectivamente.
Otras cookies y tecnologías se usan para mantener y mejorar tu experiencia durante una sesión concreta. Por ejemplo, YouTube utiliza la cookie "PREF" para almacenar información como la configuración que prefieres para tus páginas y tus preferencias de reproducción; por ejemplo, las opciones de reproducción automática que has seleccionado, la reproducción aleatoria de contenido y el tamaño del reproductor. En YouTube Music, estas preferencias incluyen el volumen, el modo de repetición y la reproducción automática. Esta cookie caduca 8 meses después del último uso del usuario. La cookie "pm_sess" también ayuda a conservar tu sesión del navegador y tiene una duración de 30 minutos.
También se pueden usar cookies y otras tecnologías para mejorar el rendimiento de los servicios de Google. Por ejemplo, la cookie "CGIC" mejora la generación de resultados de búsqueda autocompletando las consultas de búsqueda basándose en lo que introduce inicialmente un usuario. Esta cookie tiene una duración de 6 meses.
Google usa la cookie "CONSENT", que tiene una duración de 2 años, para almacenar el estado de un usuario respecto a sus elecciones de cookies. La cookie "SOCS", que dura 13 meses, también se usa con este mismo fin.
Seguridad
Las cookies y otras tecnologías que se usan con fines de seguridad ayudan a autenticar a los usuarios, prevenir el fraude y protegerte cuando interactúas con un servicio.
Las cookies y otras tecnologías que se usan para autenticar a los usuarios permiten asegurar que solo el propietario de una cuenta puede acceder a ella. Por ejemplo, las cookies "SID" y "HSID" contienen registros cifrados y firmados de forma digital del ID de cuenta de Google de un usuario y del momento de inicio de sesión más reciente. La combinación de estas cookies permite a Google bloquear muchos tipos de ataques, como, por ejemplo, intentos de robo del contenido de los formularios que se envían en los servicios de Google.
Algunas cookies y otras tecnologías se usan para prevenir el spam, el fraude y los abusos. Por ejemplo, las cookies "pm_sess", "YSC" y "AEC" se encargan de comprobar que las solicitudes que se hacen durante una sesión de navegación proceden del usuario y no de otros sitios. Estas cookies evitan que sitios maliciosos actúen haciéndose pasar por el usuario sin su conocimiento. La cookie "pm_sess" tiene una duración de 30 minutos, y la cookie "AEC", de 6 meses. La cookie "YSC" dura toda una sesión de navegación del usuario.
Analíticas
Las cookies y otras tecnologías que se usan con fines analíticos ayudan a recoger datos que permiten a los servicios entender cómo interactúas con un servicio en particular. Esta información se usa para mejorar el contenido de los servicios y sus funciones, y así ofrecerte una mejor experiencia.
Algunas cookies y otras tecnologías ayudan a los sitios y las aplicaciones a entender cómo interactúan los visitantes con sus servicios. Por ejemplo, Google Analytics utiliza un conjunto de cookies para recoger información y ofrecer estadísticas de uso de los sitios sin que Google identifique personalmente a cada visitante. La principal cookie que utiliza Google Analytics es "_ga", que permite a los servicios distinguir a un visitante de otro y tiene una duración de 2 años. La utilizan todos los sitios en los que se implementa Google Analytics, incluidos los servicios de Google. Cada cookie "_ga" es exclusiva de una propiedad específica, así que no se puede utilizar para rastrear a un usuario o navegador en sitios web no relacionados.
Los servicios de Google también usan las cookies "NID" y "ENID" en la Búsqueda de Google y "VISITOR_INFO1_LIVE" y "YEC" en YouTube con fines analíticos.
Publicidad
Google utiliza cookies con fines publicitarios, como publicar y renderizar anuncios, personalizar anuncios (según la configuración de anuncios que tenga el usuario en y ), limitar el número de veces que se muestra un anuncio a un usuario, ocultar anuncios que el usuario ha indicado que no quiere volver a ver y medir la eficacia de los anuncios.
La cookie "NID" se usa para mostrar anuncios de Google en los servicios de Google a usuarios que no tengan la sesión iniciada, mientras que las cookies "ANID" e "IDE" se utilizan para mostrar anuncios de Google en sitios que no son de Google. Si has habilitado los anuncios personalizados, la cookie "ANID" se utiliza para recordar este ajuste y tiene una duración de 13 meses en el Espacio Económico Europeo (EEE), Suiza y el Reino Unido, y 24 meses en los demás lugares. Si los has desactivado, la cookie "ANID" se usa para almacenar ese ajuste hasta el 2030. La cookie "NID" caduca 6 meses después del último uso del usuario. La cookie "IDE" tiene una duración de 13 meses en el Espacio Económico Europeo (EEE), Suiza y el Reino Unido, y de 24 meses en los demás lugares.
En función de tu configuración de anuncios, otros servicios de Google, como YouTube, también pueden usar con fines publicitarios estas y otras cookies y tecnologías, como la cookie "VISITOR_INFO1_LIVE".
Algunas cookies y otras tecnologías que se usan con fines publicitarios se destinan a usuarios que inician sesión para usar servicios de Google. Por ejemplo, la cookie "DSID" se utiliza para identificar a un usuario que tenga la sesión iniciada en sitios que no son de Google y para recordar si el usuario ha aceptado la personalización de anuncios. Tiene una duración de 2 semanas.
A través de la plataforma publicitaria de Google, las empresas pueden anunciarse en servicios de Google y en sitios que no son de Google. Algunas cookies sirven de apoyo a Google para mostrar anuncios en sitios de terceros y se establecen en el dominio del sitio web que visitas. Por ejemplo, la cookie "_gads" permite a los sitios mostrar anuncios de Google. Las cookies que empiezan por "gac" proceden de Google Analytics y las utilizan los anunciantes para medir la actividad de usuario y el rendimiento de sus campañas publicitarias. Las cookies "_gads" tienen una duración de 13 meses, mientras que las cookies "gac" duran 90 días.
Algunas cookies y otras tecnologías se utilizan para medir el rendimiento de los anuncios y las campañas, así como las tasas de conversión de los anuncios de Google en los sitios que visitas. Por ejemplo, las cookies que empiezan por "gcl" se usan principalmente para ayudar a los anunciantes a determinar cuántas veces los usuarios que hacen clic en sus anuncios acaban realizando una acción en su sitio (por ejemplo, una compra). Las cookies que se usan para medir tasas de conversión no se utilizan para personalizar anuncios. Las cookies "gcl" tienen una duración de 90 días.
Feliz año nuevo para todos 🎆 He regresado para terminar este curso 👀 Aquí mis apuntes de la clase en 👉🏽 notion
Cookies y sesiones
Las cookies son pequeños fragmentos de texto que los sitios web que visitas envían al navegador
Permiten que los sitios web recuerden información sobre tu visita, lo que puede hacer que sea más fácil volver a visitar los sitios y hacer que estos te resulten más útiles. . En las Cookies podemos almacenar datos como:
¿Cómo funciona?
Problema de las Cookies
Las cookies solamente funcionan entre navegador y servidor, si queremos utilizarlas en native apps, no serán compatibles.
Pero hay una alternativa que se llama JWT que funciona en mobile y en navegadores. .
JSON WEB TOKENS O JWT
Es un estándar abierto basado en JSON para la creación de tokens de acceso que permiten la propagación de identidad y privilegios o claims en inglés. Por ejemplo, un servidor podría generar un token indicando que el usuario tiene privilegios de administrador y proporcionarlo a un cliente. El cliente entonces podría utilizar el token para probar que está actuando como un administrador en el cliente o en otro sistema. El token está firmado por la clave del servidor, así que el cliente y el servidor son ambos capaces de verificar que el token es legítimo.
Pueden ser usados tanto en mobile como en browsers.
Una cookie es un pequeño archivo de texto que se almacena en el navegador del usuario y se utiliza para recordar cierta información sobre la interacción del usuario con un sitio web en particular. Las cookies se pueden utilizar para recordar las preferencias de usuario, como el idioma o el diseño del sitio web, o para almacenar información de sesión, como el ID de sesión.
Por otro lado, una sesión es un período de tiempo durante el cual un usuario interactúa con un sitio web. Durante esta sesión, se pueden realizar varias solicitudes y se pueden almacenar datos de usuario temporales en la memoria del servidor. La información guardada en la sesión puede incluir cosas como el nombre de usuario del usuario, los elementos de la cesta de la compra o los detalles de la factura.
Las cookies y las sesiones se utilizan a menudo en conjunto para proporcionar una experiencia de usuario más personalizada y eficiente. Por ejemplo, cuando un usuario inicia sesión en un sitio web, crea una sesión en el servidor y puede almacenar un ID de sesión en una cookie en el navegador del usuario. Esta cookie se puede enviar con cada solicitud posterior para identificar al usuario y recuperar la información de sesión correspondiente del servidor.
Excelente aporte Juan !!!
¿El botón de siguiente tendria que ir a BD y no a escalamiento?
Si, se saltan la clase sobre Bases de Datos
ya está corregido
JWT, o JSON Web Token, es un estándar abierto (RFC 7519) que define un método compacto y autónomo para representar información de manera segura entre dos partes. Se utiliza comúnmente para autenticar y autorizar usuarios en aplicaciones web.
Un JWT se compone de tres partes: header (cabecera), payload (carga útil) y signature (firma). El header identifica el tipo de token y el algoritmo de firma. El payload contiene las afirmaciones (claims) sobre el usuario. La signature se utiliza para verificar que el emisor del token es quien dice ser y para asegurar que el mensaje no haya sido alterado.
En el contexto del desarrollo backend, es importante comprender su uso en la gestión de sesiones y la seguridad de las APIs.
Muy util, muchas gracias
Hola les comparto mi resumen de esta lección
vengo del futuro, Usen JWT es más sencillo y rápido si están trabajando solos en algún proyecto
si estás usando JAMstack, sí, pero en realidad depende de tu stack.
Mi resumen
Cookies: Almacenar información en los navegadores
Permite brindar una mejor experiencia para los usuarios, almacenando sus preferencias o su sesion
En un principio la cookie se envia del servidor al navegador(cliente), capturando sus prefrerencias, configuraciones, sesion para posteriormente en alguna otra ocasion que el cliente haga un request al servidor este lo podra identificar y enviara un request mas apropiado basandose en los datos almacenados en la coookie, algo así como su sesion personalizada
Desventajas → Esta tecnologia solo es compatible con navegadores en un ambiente movil no funciona pero se puede usar JWT (Json Web Token) siendo este funcional en ambos ambientes
A diferencia de las cookies, los JWT no sufren de ataques CSRF por defecto y funcionan perfecto en arquitecturas de microservicios o apps móviles, ya que no dependen de un solo dominio. ¡Portabilidad y seguridad en un solo JSON!
Hola, sólo me gustaría mencionar que JWT también puede utilizarse en aplicaciones de escritorio. Saludos
Las cookies son pequeños archivos de texto en tu navegador que recuerdan información. Las sesiones guardan datos del usuario en el servidor, usando a menudo una cookie de ID para identificar al usuario. Los JWT (JSON Web Tokens) son tokens seguros que contienen información del usuario, firmados digitalmente, usados para autenticación sin necesidad de sesiones en el servidor.
Las cookies son principalmente utilizadas en navegadores web para almacenar información del usuario, como preferencias y sesiones. Sin embargo, en aplicaciones móviles, se utilizan mecanismos similares, como el almacenamiento local o "shared preferences", que cumplen funciones equivalentes al manejo de cookies. Aunque no son exactamente lo mismo, ambos sirven para guardar información que mejora la experiencia del usuario.
Las cookies son pequeños archivos de datos que se almacenan en el navegador del usuario cuando visita un sitio web. Permiten a las páginas recordar información sobre la sesión del usuario, como preferencias, autenticación y seguimiento de actividad. Esto mejora la experiencia del usuario al personalizar el contenido y facilitar el acceso a los servicios. Las cookies pueden ser de sesión (se eliminan al cerrar el navegador) o persistentes (se mantienen durante un período definido). Su uso es fundamental en la gestión de aplicaciones web y la interacción con usuarios.
Las cookies almacenan información del usuario como su ubicación de conexión, navegador utilizado e idioma configurado. También sirven para mantener una sesión activa.
Las cookies funcionan exclusivamente en navegadores web y no son compatibles con aplicaciones móviles debido a su diferente arquitectura.
Para dispositivos móviles se utilizan los JSON Web Tokens (JWT), que son compatibles tanto con navegadores como con aplicaciones móviles.
No entiendo por que las cookies no funcionarian en entorno mobile. En andorid o iOS tambien tenemos el navegador. Alguien podria aclararme este punto?
En un navegador mobile las cookies no tienen problemas.
Cuando creamos aplicaciones nativas, como Facebook, Platzi, Youtube, etc. Las cookies no funcionan ya que no son navegadores.
Entonces, si abres el navegador de tu teléfono y vas al sitio web de Twitter. Entonces, Twitter puede usar las cookies. Pero, si abres la aplicación de Twitter en tu teléfono. Este, ya que no es un navegador, no podrá trabajar con cookies pero sí con JWT.
Ahora si me quedo claro! muchas gracias Bryan
COOKIES Y SESIONES
Son mecanismos utilizados en el desarrollo web para gestionar y mantener el estado de las interacciones entre los usuarios y los sitios web. Las cookies son pequeños archivos de texto almacenados en el navegador del usuario que contienen datos específicos sobre su visita, como preferencias del sitio, información de autenticación o historial de navegación. Permiten a los sitios web recordar al usuario en visitas posteriores. Las sesiones, por otro lado, almacenan información en el servidor y están vinculadas a un identificador único que se envía al cliente en forma de cookie o en la URL*. Las sesiones son temporales y suelen expirar después de un periodo de inactividad, garantizando mayor seguridad para datos sensibles. Ambos mecanismos son fundamentales para crear experiencias de usuario personalizadas y mantener la continuidad de las interacciones en aplicaciones web.*
JSON Web Tokens (JWT) son un estándar abierto (RFC 7519) para la creación de tokens de acceso que permiten la transmisión segura de información entre partes como un objeto JSON*. Un* JWT se compone de tres partes:
El encabezado especifica el algoritmo de cifrado utilizado, el payload contiene las declaraciones o claims, y la firma asegura la integridad del token mediante un algoritmo criptográfico. Los JWT son ampliamente utilizados en la autenticación y autorización de usuarios en aplicaciones web y móviles, permitiendo la verificación del usuario y el intercambio de información entre el cliente y el servidor sin necesidad de mantener el estado en el servidor. Gracias a su formato compacto y su capacidad para ser verificados mediante firmas digitales, los JWT son ideales para entornos de microservicios y aplicaciones distribuidas, facilitando un acceso seguro y escalable.