Cookies y tokens: qué son exactamente estas piezas de información que nos permiten interactuar con las plataformas web

Dos elementos clave cada vez que inicias sesión

Cookies Token
Sin comentarios Facebook Twitter Flipboard E-mail

Hoy en día, cuando navegamos por Internet, resulta muy común encontrarse con términos como "cookies" y "tokens". Aunque muchos de nosotros los usamos diariamente, es posible que no entendamos completamente qué son y cómo funcionan. Veamos si este artículo puede arrojar un poco de luz al respecto.

Índice de Contenidos (8)

¿Qué son las cookies?

Las 'cookies' son pequeños archivos de texto que crean los sitios web que visitas y que se almacenan en tu dispositivo. Cada vez que visitas un sitio web, este puede enviarte una cookie para recordar información útil como tus preferencias de idioma, artículos recopilados en tu carrito de compras, o las páginas que has visitado previamente. Lo que esto logra es que tu experiencia de navegación sea más personalizada.

Ejemplo. La siguiente cookie se utiliza para almacenar la información de la sesión del usuario en el sitio web, y nos permite permanecer conectados dos horas mientras navegamos por diferentes páginas del sitio:

{
 "user_id": "123456",
 "session_id": "abcdef1234567890",
 "login_timestamp": "2024-07-24T14:35:00Z",
 "expiration": "2024-07-24T16:35:00Z"
}

¿Por qué necesitamos cookies?

El protocolo HTTP no es capaz de recordar información entre sesiones. Las cookies solucionan este problema al almacenar información de sesión en el cliente. Sin cookies, los sitios web no podrían recordar tus acciones previas, lo cual es esencial para sitios interactivos.

Una explicación

La web de la compañía de ciberseguridad Kaspersky afirma que "las cookies son un poco como obtener un ticket para un guardarropa", porque...

  1. Entregas tu "abrigo" al mostrador del guardarropa: visitas un sitio web y un conjunto de datos se vincula a ti en el servidor del sitio web.
  2. Obtienes un "ticket" para identificarte como el propietario del "abrigo": la cookie (que contiene los datos) se te entrega y se almacena en tu navegador web. Tiene una ID única especialmente para ti.
  3. Si te vas y regresas, puedes recuperar el "abrigo" con tu "ticket": cuando vuelves a visitar el sitio web, tu navegador le devuelve la cookie al sitio web. El sitio web luego lee la ID única en la cookie para ensamblar tus datos de actividad, llevándote de regreso a donde estabas cuando lo visitaste por primera vez, como si nunca te hubieras ido.

Atributos de las cookies

Las cookies tienen varios atributos habituales que determinan cómo funcionan. Por ejemplo:

  • User ID: Identifica de forma única al usuario.
  • Session ID: Identifica de forma única la sesión entre el cliente y el servidor web.
  • Login Timestamp: Almacena la marca de tiempo exacta en la que el usuario inició sesión.
  • Expires: Define la fecha de expiración de la cookie.
  • Domain: Especifica los dominios donde la cookie es válida.
  • Path: Especifica la ruta donde la cookie es válida.
  • HttpOnly: Evita que las APIs del lado del cliente, como JavaScript, accedan a la cookie.
  • Secure: Requiere que la cookie se envíe solo a través de HTTPS.
  • Session: Indica que la cookie es temporal y expira al cerrar el navegador.
  • SameSite: Controla si la cookie se envía con solicitudes entre sitios (Strict, Lax o None).

Tipos de cookies

Las cookies pueden clasificarse en dos grandes categorías:

1) Cookies esenciales

Necesarias para el funcionamiento del sitio web.

  • Cookies de sesión: Temporales y se eliminan al cerrar el navegador.
  • Cookies de primera parte: Permanecen en el navegador hasta que se eliminan manualmente o expiran.
  • Cookies de autenticación: Mantienen al usuario autenticado durante su sesión en el sitio web.
  • Cookies de seguridad centradas en el usuario: Ayudan a detectar y prevenir abusos en la autenticación.
  • Cookies de entrada de usuario: Mantienen un seguimiento de las acciones del usuario, como los artículos añadidos a un carrito de compras.

2) Cookies no esenciales

No son cruciales para el funcionamiento del sitio web, pero mejoran la experiencia del usuario.

  • Cookies de análisis y personalización: Rastrean la actividad del usuario para mejorar el sitio web.
  • Cookies publicitarias: Personalizan los anuncios según el historial de navegación del usuario.
  • Cookies de terceros: Rastrean al usuario a través de diferentes sitios web y son vistas con desagrado por cuestiones de privacidad.
  • Supercookies: Las 'supercookies' pueden almacenar mucha más información que las cookies normales y son más difíciles de gestionar.

¿Qué son los tokens?

Token

(Recuerda, existen los 'tokens' en IA, pero son otra cosa diferente). Los tokens son piezas de información digital que se utilizan para autenticar y autorizar a los usuarios en sistemas informáticos y aplicaciones. Los tokens se emplean para mantener la seguridad de las sesiones y facilitar el acceso a los recursos protegidos sin necesidad de volver a introducir las credenciales del usuario cada vez que se realiza una solicitud.

Así funcionan:

  • Inicio de sesión: El usuario ingresa sus credenciales en la aplicación.
  • Generación del token: Si las credenciales son válidas, el servidor genera un token y lo envía al cliente.
  • Almacenamiento del token: El token se almacena en el cliente, típicamente en cookies o en el almacenamiento local del navegador.
  • Acceso a recursos: Para cada solicitud a recursos protegidos, el token se envía junto con la solicitud.
  • Validación del token: El servidor valida el token recibido. Si es válido, la solicitud es atendida; de lo contrario, se rechaza.

Problema que solucionan los tokens

Sin tokens, cada solicitud de un cliente a un servidor requeriría una búsqueda en la base de datos para identificar al usuario y verificar su autorización, lo cual es ineficiente. Los tokens, en cambio, contienen toda la información necesaria en sí mismos, eliminando la necesidad de consultas repetidas a la base de datos.

Tipos de tokens

  • ID token: Utilizado en el flujo de inicio de sesión de OpenID Connect para verificar la identidad del usuario.
  • Accesstoken: Permite a los clientes acceder de forma segura a las APIs protegidas. Tiene una vida útil corta y se incluye en cada solicitud HTTP.
  • Refresh token: Se usa para obtener nuevos tokens de acceso cuando estos expiran.
  • Bearer token: Cualquier persona que posea este token puede usarlo, similar a una tarjeta llave de hotel.

Imagen | Marcos Merino mediante IA

En Genbeta | Las mejores webs para verificar la seguridad de una URL (sin hacer clic en el enlace)

Inicio