Backend, APIs y datos · Mixto

Autenticación y autorización: quién eres y qué tienes permitido

En una línea: Identidad y autorización son dos preguntas distintas, y la mayoría de las brechas vienen de que la segunda se comprueba en la interfaz y no en el servidor.

Separación

La autenticación responde quién es el usuario. La autorización responde si tiene permitido realizar la acción sobre el recurso. Ocultar un botón en la interfaz no es autorización: cualquier petición puede enviarse directamente.

La regla: cada ruta comprueba la autorización sobre el recurso concreto, no solo que el usuario esté conectado.

Modelos prácticos

Por roles — simple, suficiente para la mayoría de sistemas. Por propiedad y pertenencia — necesario cuando los usuarios ven solo los datos de su organización. Por política detallada — potente y cara de mantener, y solo cuando de verdad hace falta.

Empieza simple y documenta las reglas en un solo sitio del código, no dispersas en veinte comprobaciones.

Tokens

Una caducidad corta para un token de acceso, un token de renovación que se pueda revocar, y una lista de denegación para los eventos de cierre de sesión. Guarda en el servidor lo suficiente para revocar el acceso de inmediato: una capacidad que hace falta justo el día en que no hay tiempo de construirla.

En profundidad

El peligro más común es el acceso directo a un recurso por identificador: cambiar un número en la dirección que devuelve datos de otro. Comprueba esto de forma sistemática en cada ruta que reciba un identificador, y añade una prueba automática que intente acceder entre usuarios.