¿Qué es un Token?

Un token es un objeto (físico o digital) que actúa como una «llave» para dar acceso a un sistema o recurso. En el ámbito informático y de redes —como sucede en la arquitectura de GUHARA—, un token es una cadena de caracteres alfanuméricos que representa un derecho de acceso o la identidad de un usuario.  

La gran ventaja del token es que permite que un sistema (el cliente) demuestre quién es ante otro sistema (el servidor) sin tener que enviarle su contraseña cada vez que hace una petición.  

¿Cómo funciona exactamente? (El flujo del Token)

Para entenderlo, imagina que el token es como la pulsera de «todo incluido» de un hotel: vas a recepción (login), demuestras quién eres (contraseña), te ponen la pulsera (token) y, a partir de ahí, solo tienes que enseñar la pulsera para entrar a la piscina o al buffet.

El proceso técnico suele seguir este estándar (comúnmente usando el estándar JWT – JSON Web Token):  

  1. Solicitud de Acceso: El usuario (o una aplicación como mclinic) envía sus credenciales (usuario y contraseña) al servidor de autenticación.  
  2. Validación y Generación: El servidor comprueba que los datos son correctos. Si lo son, genera un Token firmado digitalmente que contiene información relevante (ID de usuario, rol, fecha de caducidad).  
  3. Entrega: El servidor devuelve ese token al cliente.  
  4. Uso: A partir de ese momento, el cliente guarda el token y lo incluye en la cabecera (header) de cada petición que haga al sistema (por ejemplo, al pedir una analítica).  
  5. Verificación: El servidor de destino recibe la petición, mira el token, comprueba que la firma es válida y que no ha caducado, y le da los datos. No necesita consultar la base de datos de contraseñas de nuevo.  

Partes de un Token (JWT)

Un token digital estándar se divide en tres partes separadas por puntos:  

  • Header (Cabecera): Indica el algoritmo usado para la firma (ej. HS256).  
  • Payload (Carga útil): Los datos reales del usuario (ej. nombre: "Juan", rol: "médico", exp: "2026-01-26").
  • Signature (Firma): Es el código que garantiza que el token no ha sido manipulado. Se crea combinando la cabecera, el payload y una «clave secreta» que solo conoce el servidor.  

¿Por qué es fundamental en la HCE de Aragón?

En la arquitectura que estamos analizando, el uso de tokens es clave por tres razones:

  • Seguridad: Si alguien intercepta el token, este tiene una vida corta (caducidad). Además, la contraseña real nunca viaja por la red después del primer login.  
  • Escalabilidad: El servidor no necesita guardar una «sesión» en su memoria para cada usuario; solo tiene que verificar que el token que le llega es válido. Esto es vital para un sistema que usan miles de profesionales simultáneamente.  
  • Integración: Permite que aplicaciones distintas (como la Receta Electrónica o el visor de Laboratorio) confíen unas en otras. Una vez que el médico se loguea en GUHARA, el token le permite saltar a los otros módulos sin volver a meter la contraseña (Single Sign-On).