⛓️ Patrones de autenticación en Next.js
Recursos
Apuntes
- En la web existen 2 patrones de autenticación
- Validar en el cliente
- Conectándose en las API, mandando las contraseñas y estando en contacto con un servidor de autenticación
- Validar desde el servidor
- El servidor sea el encargado de enviar, verificar la información
- Validar en el cliente
- Una gran diferencia es en la validación del cliente, cuando la información está cargando y de un momento a otra cambia de repente la información
- Sitios como Airbnb siempre inician como si no estuvieras logueado y de un momento a otro cambia de vista, esto afectando a la experiencia de usuario
- Esto es conocido como “Flash of Unauthenticated content”
- Una manera de solucionarlo es usando SSR de tal forma que todo venga del servidor y no se tenga que esperar (Esto dependerá si se cuenta con un servidor)
- Dependiendo de la manera que se elija, impactara en la forma en la que almacenemos la información de la sesión de nuestro usuario
- La autenticación que es algo primordial y se debe tener cuidado, se lo debemos dejar a servicios, librerías, frameworks.
- Para aplicaciones en producción lo mejor siempre será utilizar un servicio especializado en autenticación
Proveedores
-
Funcionan mejor desde el cliente:
Firebase, Magic, Auth0
-
Funcionan mejor desde el servidor:
Cualquier DB con iron/iron-session, Auth0
NextAuth.js
- Ofrece toda una capa lista para autenticación
- Open source y construido para Next.js
- Moderno
- Buenas prácticas de seguridad
- Muy flexible
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.