Autenticación
En esta sección cubriremos los mecanismos de autenticación más relevantes.
Antes de entrar en mecanismos concretos, es fundamental distinguir estos dos conceptos que a menudo se confunden.
- Autenticación: ¿Quién eres? Verifica la identidad del usuario. Por ejemplo, login con usuario y contraseña
- Autorización: ¿Qué puedes hacer? Determina los permisos y recursos a los que tiene acceso. Por ejemplo, un usuario puede ver su perfil pero no el de otro.
Siempre ocurren en este orden: primero autenticas, luego autorizas. Para autorizar es necesario tener identificado un usuario.
Modelos de autenticación: stateful vs. stateless
Una distinción clave que recorre todos los mecanismos de estos apuntes:
- Stateful: El servidor guarda el estado de la sesión. Cada petición se valida consultando ese estado almacenado.
- Stateless: El servidor NO guarda nada. Toda la información necesaria viaja en cada petición y el servidor sólo verifica su validez.
La elección entre uno y otro tiene implicaciones importantes en escalabilidad, seguridad y complejidad operativa.