¡Bienvenidos de nuevo! En esta lección vamos a explorar uno de los pilares fundamentales de cualquier aplicación: la Autenticación.
Supabase nos facilita enormemente esta tarea, proporcionando un sistema robusto y flexible que cubre tanto la autenticación (verificar quién es el usuario) como la autorización (controlar qué puede hacer ese usuario).
Veamos las diferentes formas en las que podemos permitir que nuestros usuarios inicien sesión.
Métodos de Autenticación
Supabase no nos limita a una sola forma de entrar; nos ofrece un abanico de posibilidades para adaptarnos a lo que nuestra aplicación necesite:
1. Correo y Contraseña (Email & Password)
Es el método clásico. El usuario se registra con su correo electrónico y crea una contraseña. También soporta el registro mediante número de teléfono y contraseña.
2. Sin Contraseña (Passwordless)
Esta es una tendencia moderna y muy segura. En lugar de obligar al usuario a recordar una clave, Supabase permite:
- Magic Links (Enlaces mágicos): Se envía un enlace al correo del usuario y, al hacer clic, entra directamente a la app.
- OTP (One Time Password): Se envía un código temporal numérico.
3. Proveedores Sociales (OAuth)
Seguramente has visto botones como «Iniciar sesión con Google». Supabase soporta una lista enorme de proveedores sociales nativos para facilitar el acceso rápido:
- Apple
- GitHub
- Discord
- Figma
- Y muchos más.
4. Autenticación Telefónica (Phone Auth)
Si prefieres validar usuarios mediante SMS, Supabase se integra con proveedores externos líderes en el mercado como Twilio, MessageBird o Vonage para gestionar el envío de mensajes de verificación.
5. Opciones Avanzadas y Empresariales
Para casos de uso más específicos, también contamos con:
- SAML SSO: Para aplicaciones empresariales (Single Sign-On).
- Anonymous Sign-ins: Permite a los usuarios entrar como invitados (anónimos) y, más adelante, convertir esa cuenta en una cuenta registrada permanente.
Configuración Técnica Importante
Para que todo esto funcione, especialmente en aplicaciones móviles o webs modernas, Supabase utiliza Redirect URLs y Mobile Deep Linking.
- ¿Qué son? Son configuraciones que le dicen a Supabase: «Una vez que el usuario se haya validado (por ejemplo, en la web de Google), envíalo de vuelta a esta pantalla específica de mi aplicación». Veremos cómo configurar esto más adelante.
Un vistazo a la Seguridad: RLS
Finalmente, es importante mencionar un concepto clave que verás en la documentación: Row Level Security (RLS).
RLS son las políticas de seguridad que definen quién puede ver o editar cada fila de tu base de datos basándose en su autenticación. Aunque es un tema crucial, es profundo, por lo que le dedicaremos una lección exclusiva más adelante para entenderlo a fondo.
Conclusión
Como ves, Supabase nos ofrece todas las herramientas necesarias para gestionar usuarios, desde lo más básico hasta integraciones sociales y corporativas.
En el próximo vídeo, dejaremos la teoría y empezaremos a trabajar con estas políticas y configuraciones. ¡Nos vemos en la siguiente lección!