Server-Side vs Client-Side sessions

Clase 10 de 39Curso de Autenticación con OAuth

Resumen

Autenticar usuarios desde de lado del servidor es considerado stateful, debemos utilizar sesiones para preservar los estados de autenticación, es decir, guardamos en memoria o en una base de datos un identificador que nos permita comprobar si los usuarios están o no autenticados.

Por otro lado, la autenticación de lado del cliente no utiliza sesiones, en realidad, no tenemos forma de verificar si los usuarios están autenticados o no, en vez de esto, validamos los datos de usuario para obtener tokens (con límite de tiempo) que utilizamos en las peticiones al servidor para validar el acceso y consultar nuestra información.

Proceso de autenticación de lado del cliente:

  1. Cuando los usuarios hacen login, el servidor responde con un token (indicando que el login fue exitoso) y nosotros, de lado del cliente, agregamos una bandera para indicar que el usuario esta autenticado.
  2. En cualquier punto de nuestra aplicación (por ejemplo, cuando cambiamos de ruta o hacemos una nueva petición) debemos verificar la expiración de los tokens.
  3. Si el token expira, debemos cambiar la bandera para indicar que el usuario NO esta autenticado y nuevamente redireccionar a los usuarios a la ruta de login.