Desarrollo de Software con IA

Sesiones y permisos: quién es quién dentro de tu aplicación

Describir cómo viaja la identidad de un usuario (sesión, token) y cómo se aplican permisos en el backend.

El servidor no recuerda: hay que decirle quién eres cada vez

El HTTP es amnésico: cada petición es un desconocido nuevo. Para que el backend sepa quién llama y qué puede hacer, la identidad viaja con cada petición dentro de una sesión o un token. Los permisos son las reglas que deciden, con esa identidad en mano, si la operación se autoriza o se rechaza.

[La identidad viaja con cada petición]

Esta actividad interactiva ('Explicacion visual') requiere el motor completo de Lumbre. El contenido estatico se muestra arriba; para la experiencia interactiva, visita la version online de este objeto.

Sesión, token y permiso (en una frase)

Los conceptos se reutilizan de APIs; aquí los aplicas a quién puede tocar qué dato.
ConceptoQué esAnalogía
SesiónEl «estado de estar conectado» del usuariotu pulsera de acceso en un evento
TokenLa credencial que viaja en cada peticiónel boleto con tu nombre que muestras en cada puerta
PermisoLa regla de qué puede hacer esa identidadque con tu pulsera entras a zona VIP pero no a cocina
RolUn paquete de permisos para un tipo de usuarioadmin, editor, invitado

Para reforzar

Tokens, autenticación y claves: protege tus accesos
OA publicado sobre tokens y llaves. Aquí no repetimos esa base: la conectamos con los permisos por operación dentro de tu backend.

Prompt de permisos

Autorizar en el servidor, operación por operación
Implementa control de acceso en el CRUD de Contactos:\n- en cada peticion, lee el token; si no hay token valido, responde 401 (no autorizado).\n- un usuario normal solo puede listar, crear, editar y borrar SUS propios contactos (comprueba el campo owner_id).\n- un usuario con rol «admin» puede ver todos.\n- si intenta tocar un contacto ajeno, responde 403, no lo devuelvas vacio disfrazado de exito.\n\nLa comprobacion va en el SERVIDOR en cada endpoint, no solo ocultando botones en el frontend.

Prueba

En tu app, «Ana» no ve el botón de borrar los contactos de «Luis». Pero Luis sabe la dirección del endpoint y llama a DELETE /contactos/{id} sin permiso. ¿Qué debe pasar?

El token de un usuario debe viajar dentro de cada petición para que el backend sepa quién llama.

Detecta el permiso de juguete

Revisas cómo una IA aplicó permisos en tu app. Señala la decisión que da una falsa sensación de seguridad:

  1. Devuelve 401 cuando falta un token válido.
  2. Devuelve 403 cuando el usuario intenta tocar un contacto que no es suyo.
  3. Oculta el botón «borrar» en el frontend y da el permiso por cumplido.
  4. Filtra en el servidor los datos para que cada usuario vea solo los suyos.

Identifica la linea con error.

Define 2 roles para tu proyecto (p. ej. usuario y admin) y escribe qué puede y qué no puede hacer cada uno sobre tus entidades. Pídele a la IA que lo aplique en el servidor.

PistaSi un permiso se puede saltar llamando directo a la API, no es un permiso: es decoración.