Ir al artículo

Autenticación y correo electrónico

Los emails de cuenta dependen de Supabase y GoTrue.

Configurar correo de cuentas, MFA y recuperación

Los emails de cuenta dependen de Supabase y GoTrue. Las notificaciones de la aplicación mediante Resend no configuran la confirmación ni la recuperación de contraseña. En full, conserve el overlay minddy en cada comando Compose. Defina SITE_URL, API_EXTERNAL_URL, SUPABASE_PUBLIC_URL y ADDITIONAL_REDIRECT_URLS con las URL de origen de su instancia. Configure SMTP_ADMIN_EMAIL, SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS y SMTP_SENDER_NAME con su proveedor. El overlay también fija los límites de sesión: GOTRUE_SESSIONS_TIMEBOX vale 8760h (un año) y GOTRUE_SESSIONS_INACTIVITY_TIMEOUT vale 720h (30 días). Mantenga activa la confirmación y reinicie Auth en el contexto instalado.

Antes de ejecutar compose, defina la función del perfil full instalado siguiendo el contexto Compose de referencia.

Bash
compose up -d --wait auth
Origen Auth y redirecciones configurados
SMTP propio y plantillas versionadas
Confirmación e inicio de sesión
Pruebas TOTP, recuperación y contraseña antigua
Siga las etapas en este orden. Origen Auth y redirecciones configurados. SMTP propio y plantillas versionadas. Confirmación e inicio de sesión. Pruebas TOTP, recuperación y contraseña antigua.

Configurar Supabase gestionado

En Authentication del proyecto gestionado, configure Site URL y la redirección exacta <app-origin>/auth/callback. Configure su SMTP y las dos plantillas versionadas de confirmación y recuperación. La plantilla de confirmación utiliza token_hash y type=signup. Exija contraseñas de al menos ocho caracteres con minúsculas, mayúsculas y números y habilite el registro y la verificación TOTP. Active la comprobación de contraseñas comprometidas cuando esté disponible y registre las limitaciones del proveedor. El overlay full deniega el acceso si esa comprobación falla y necesita acceso saliente a api.pwnedpasswords.com. Fije la duración máxima de las sesiones en 8760 horas (un año) y el tiempo de inactividad en 720 horas (30 días). La base de datos rechaza las sesiones que superan esos mismos límites, de modo que un límite de Auth desactivado o más largo sigue renovando sesiones que luego todas las API rechazan. Registre la duración de las sesiones, la rotación de refresh tokens, la revocación y los límites de Auth: el bootstrap SQL no configura esos controles de plataforma.

Verificar el resultado

Utilice una dirección temporal bajo su control. Compruebe que el email de registro llega, abre esta instancia y requiere una confirmación explícita. Active TOTP en la seguridad de la cuenta y guarde los códigos de recuperación fuera del navegador. Cierre sesión y pruebe un nuevo inicio con contraseña y TOTP. Solicite un restablecimiento, siga el email de recuperación y compruebe que la contraseña anterior deja de funcionar. Para una dirección incluida en ADMIN_EMAILS, verifique el acceso de administrador solo después de MFA. Registre versiones, fechas y resultados sin datos sensibles. La salud de los contenedores no demuestra la entrega del correo ni la seguridad de la cuenta. No incluya tokens de email, contraseñas, sesiones, secretos TOTP ni códigos de recuperación en las pruebas.

Artículos relacionados