Integración con Better Auth
Prueba los correos de Better Auth con InboxTap
Better Auth proporciona a la aplicación funciones para generar correos de autenticación, pero no elige por ella un transporte SMTP. Configura el emisor usado por esas funciones para que apunte a InboxTap y recorre los endpoints reales de registro, acceso, verificación y restablecimiento desde el navegador o una prueba de integración.Asigna cada función de correo
La verificación usa emailVerification.sendVerificationEmail, el restablecimiento de contraseña usa emailAndPassword.sendResetPassword, y los complementos de enlace mágico y OTP por correo exponen sendMagicLink y sendVerificationOTP. Dirige cada función al mismo emisor local para que la prueba observe la plantilla que construye realmente la aplicación.
Conserva sin cambios la URL generada o el OTP. Reconstruir una URL de autenticación dentro de la prueba puede ocultar errores de configuración en las URL de retorno, las listas de redirecciones permitidas, la codificación de tokens y las plantillas.
Envía mediante el transporte local
Implementa sendLocalEmail con un transporte Nodemailer configurado para InboxTap: localhost, el puerto SMTP seleccionado, secure: false, ignoreTLS: true y sin campo auth. En una prueba basada en recursos, inyecta inboxTap.smtp en lugar de copiar un puerto dinámico.
El fragmento devuelve la promesa de entrega para que los fallos sean deterministas en un ejemplo local. Better Auth recomienda el envío en segundo plano para reducir los canales laterales temporales en producción. Si sigues ese patrón, usa el mecanismo de tareas en segundo plano admitido por la plataforma y deja que la espera acotada de InboxTap observe la finalización.
const auth = betterAuth({
emailVerification: {
sendVerificationEmail: ({ user, url }) =>
sendLocalEmail(user.email, "Verify your email", url),
},
emailAndPassword: {
enabled: true,
sendResetPassword: ({ user, url }) =>
sendLocalEmail(user.email, "Reset your password", url),
},
plugins: [
magicLink({
sendMagicLink: ({ email, url }) =>
sendLocalEmail(email, "Your sign-in link", url),
}),
emailOTP({
sendVerificationOTP: ({ email, otp }) =>
sendLocalEmail(email, "Your verification code", otp),
}),
],
});Trata los enlaces como secretos
Crea un destinatario nuevo de InboxTap para la prueba, inicia la operación de Better Auth y espera un enlace con un asunto o una ruta estable. Antes de navegar, analiza la URL y comprueba el origen y la ruta de retorno esperados sin imprimir el token.
Un enlace mágico puede crear un usuario de forma predeterminada. Configura disableSignUp cuando el producto solo deba permitir el acceso a usuarios existentes y cubre de forma explícita los casos permitidos y rechazados.
Respeta la configuración del OTP
El complemento de OTP por correo de Better Auth usa seis dígitos de forma predeterminada, lo que coincide con el patrón inicial de waitForCode() de InboxTap. Si otpLength o generateOTP cambia el formato, pasa un patrón propio del proyecto en vez de suponer que todos los proveedores emiten seis dígitos.
Para comprobar un reenvío, espera el segundo mensaje completo con afterId establecido en el identificador del primero y extrae el código nuevo del mensaje devuelto. Así distingues las entregas y la prueba de la aplicación puede demostrar si se invalidó el código anterior.
Cubre el contrato del producto
Capturar el correo es solo el punto intermedio. Continúa el flujo y comprueba el estado de verificación, la creación de la sesión, el destino de redirección, el tratamiento de tokens no válidos o caducados, los límites de intentos y la sustitución de la contraseña según la configuración de la aplicación.
No incluyas secretos en títulos de pruebas, registros, instantáneas ni capturas de pantalla. Los comparadores de InboxTap ocultan valores con tokens y sus informes eliminan datos sensibles en la medida de lo posible; esto no autoriza a publicar artefactos de autenticación sin revisar.
Ejecuta los flujos de autenticación de principio a fin
Sigue la configuración completa con Next.js y Playwright para la verificación, el acceso mediante enlace, la entrega de OTP y los reenvíos.
Leer la guía de Better Auth