two-factor-authentication-best-practices
por better-authtwo-factor-authentication-best-practices para Better Auth: instala el plugin twoFactor, añade redirecciones del cliente, ejecuta migraciones, verifica el esquema e implementa TOTP, códigos de respaldo, dispositivos de confianza y flujos de inicio de sesión con 2FA para Access Control.
Esta skill obtiene 78/100, lo que la convierte en una candidata sólida para el directorio: ofrece a los agentes un disparador claro y específico de Better Auth, pasos de configuración concretos y ejemplos de API útiles para implementar 2FA sin partir de una indicación genérica sobre MFA. No alcanza el nivel más alto porque la evidencia del repositorio muestra una documentación sólida en un único `SKILL.md`, pero con poco material de apoyo adicional, como metadatos de instalación, reglas o una guía más completa sobre flujos y restricciones.
- Alta capacidad de activación: la descripción apunta con claridad a casos de uso de MFA/2FA en Better Auth, incluidos TOTP, OTP, códigos de respaldo, dispositivos de confianza y flujos de inicio de sesión.
- Configuración útil a nivel operativo: indica los plugins necesarios del servidor y del cliente, el paso de migración y una comprobación concreta de verificación para la columna `twoFactorSecret`.
- Valor real de implementación: los ejemplos de código muestran la configuración del servidor, la del cliente, el manejo de redirecciones y la activación de 2FA con el `totpURI` devuelto y códigos de respaldo.
- La profundidad del soporte se limita a un único archivo markdown, sin scripts, referencias ni comando de instalación, por lo que los agentes quizá aún deban inferir algunos detalles de ejecución.
- Las señales estructurales muestran una cobertura explícita débil de flujos y restricciones, lo que puede dejar casos límite y secuencias menos definidos de lo ideal.
Descripción general de la skill two-factor-authentication-best-practices
La skill two-factor-authentication-best-practices es una guía de implementación centrada en añadir 2FA a una configuración de Better Auth, no una explicación genérica sobre MFA. Encaja mejor para desarrolladores que ya usan Better Auth y necesitan orientación práctica, con poca ambigüedad, para apps TOTP, entrega de OTP, códigos de respaldo, gestión de dispositivos de confianza y los cambios en el flujo de inicio de sesión que exige el plugin twoFactor.
Qué te ayuda a hacer esta skill
Usa esta skill cuando tu objetivo real sea lanzar un flujo de 2FA seguro y funcional para Access Control con Better Auth: instalar el plugin, conectar correctamente la parte de servidor y cliente, ejecutar migraciones y cubrir el recorrido del usuario desde la activación hasta la verificación y la recuperación.
Usuarios para los que mejor encaja
Esta skill encaja especialmente bien para:
- usuarios de Better Auth que añaden MFA a una app existente
- equipos que necesitan
two-factor-authentication-best-practicespráctico, no teoría - desarrolladores que quieren reforzar el login empezando por TOTP y después añadir vías de respaldo como códigos de recuperación o entrega de OTP
Qué la diferencia de un prompt genérico
Un prompt normal puede describir conceptos de MFA. Esta skill resulta más útil cuando necesitas detalles de uso específicos de Better Auth:
- configuración del plugin en servidor con
twoFactor() - configuración del plugin en cliente con
twoFactorClient() - migración y verificación del esquema
- comportamiento del flujo de activación, incluido cuándo 2FA pasa a estar realmente habilitado
- gestión de redirecciones durante el inicio de sesión
Qué debes saber antes de instalarla
Esta skill es deliberadamente específica. Da por hecho que Better Auth ya forma parte de tu stack. Si necesitas arquitectura de autenticación agnóstica al proveedor, redacción de políticas de cumplimiento o una comparativa de productos MFA, este no es el mejor punto de partida.
Cómo usar la skill two-factor-authentication-best-practices
Contexto de instalación de esta skill
Esta skill está en el repositorio better-auth/skills, dentro de better-auth/twoFactor. Como la evidencia del repositorio muestra solo un archivo SKILL.md y no scripts auxiliares ni referencias adicionales, lo esperable es que el valor venga de una guía de implementación directa, no de automatización.
Si tu entorno usa un cargador de skills, instálala desde el repositorio y apunta a la skill twoFactor. Si la vas a revisar manualmente, abre:
better-auth/twoFactor/SKILL.md
Lee primero este archivo
Empieza por SKILL.md antes de tocar el código de tu app. En esta skill, ese archivo contiene las decisiones clave que más suelen importar:
- configuración del servidor
- configuración del cliente
- paso de migración
- flujo de activación
- comportamiento de la verificación TOTP
Este es uno de esos casos poco frecuentes en los que leer primero el único archivo fuente basta para decidir rápido si te encaja.
Datos mínimos que necesita la skill
Para obtener una salida útil de la skill two-factor-authentication-best-practices, conviene proporcionar:
- la ruta a tu archivo de configuración del servidor de Better Auth
- la ruta a tu archivo de configuración del cliente de Better Auth
- si quieres solo TOTP o TOTP más OTP por email/SMS
- el estado de tu tabla de usuarios y de tus migraciones
- la UX que buscas para activación, challenge, códigos de respaldo y dispositivos de confianza
Sin esos datos, el resultado suele quedarse demasiado genérico.
Ruta de configuración básica
La ruta práctica de configuración que muestra la skill es:
- Añadir
twoFactor()a la configuración del servidor de Better Auth - Definir un
issuer - Añadir
twoFactorClient()a la configuración del cliente - Ejecutar
npx @better-auth/cli migrate - Verificar que tu tabla de usuarios contiene la columna esperada para el secreto de 2FA
Esa comprobación de migración importa, porque muchas instalaciones que fallan en realidad se deben a desajustes del esquema, no a problemas del plugin.
Ejemplo del lado del servidor para orientar tu implementación
La skill centra la configuración del servidor de esta manera:
import { betterAuth } from "better-auth";
import { twoFactor } from "better-auth/plugins";
export const auth = betterAuth({
appName: "My App",
plugins: [
twoFactor({
issuer: "My App",
}),
],
});
En la práctica, el dato más importante es issuer, porque afecta a cómo se muestra la app en el autenticador y a la confianza del usuario durante la activación.
Ejemplo del lado del cliente y gestión de redirecciones
El flujo del cliente importa tanto como la instalación del plugin:
import { createAuthClient } from "better-auth/client";
import { twoFactorClient } from "better-auth/client/plugins";
export const authClient = createAuthClient({
plugins: [
twoFactorClient({
onTwoFactorRedirect() {
window.location.href = "/2fa";
},
}),
],
});
Si buscas two-factor-authentication-best-practices para Access Control, no trates la gestión de redirecciones como un detalle opcional de acabado. Forma parte del flujo de autenticación. Decide desde el principio dónde vive tu pantalla de challenge y qué estado necesita.
Cómo hacer un buen prompt para esta skill
Una petición débil:
- "Help me add 2FA"
Una petición sólida:
- "I use Better Auth in a React app. My server config is in
src/lib/auth.tsand my client auth setup is insrc/lib/auth-client.ts. I want TOTP with backup codes, a/settings/securityenrollment page, a/2fachallenge route, and a migration checklist. Show exact code changes and call out anything that can break the flow."
La segunda versión da a la skill suficiente contexto para producir una respuesta lista para implementar en vez de consejos generales.
Cómo convertir un objetivo difuso en un prompt completo
Usa este patrón para sacar más partido a two-factor-authentication-best-practices:
- stack actual: framework, ubicaciones de archivos de Better Auth
- factores deseados: TOTP, email OTP, SMS OTP, códigos de respaldo
- puntos de UX: página de activación, ruta de challenge, flujo de recuperación
- reglas de seguridad: verificación de contraseña, dispositivos de confianza, comportamiento de sesión
- formato de salida: patch, checklist, fragmentos de código o notas de revisión
Ejemplo:
Apply two-factor-authentication-best-practices to my Better Auth setup.
Server file: `server/auth.ts`
Client file: `web/auth-client.ts`
Need: TOTP enrollment, backup codes, trusted-device option, redirect to `/auth/2fa`
Also include migration verification and note when `twoFactorEnabled` becomes true.
Flujo de trabajo que reduce errores
Un flujo fiable es:
- Confirmar que Better Auth ya funciona sin 2FA
- Añadir el plugin de servidor
- Añadir el plugin de cliente y la lógica de redirección
- Ejecutar la migración
- Verificar los cambios en el esquema
- Implementar la UI de activación
- Probar la primera verificación
- Añadir la visualización y UX de guardado de códigos de respaldo
- Probar el challenge en el login y las rutas de recuperación
Este orden importa, porque trabajar en la UI antes de la migración y de conectar bien el flujo suele ocultar los puntos reales de fallo.
Comportamiento importante que muchos equipos pasan por alto en two-factor-authentication-best-practices
La skill señala un detalle crítico: twoFactorEnabled no pasa a true hasta que la primera verificación TOTP se completa correctamente. Eso afecta a:
- la lógica de onboarding
- el estado de la UI después de iniciar la activación
- el registro de auditoría
- las expectativas del equipo de soporte cuando un usuario escanea un código QR pero nunca termina la verificación
Ese es exactamente el tipo de detalle de implementación que hace que la skill sea más útil que un prompt genérico sobre MFA.
Qué no automatiza esta skill
No hay scripts, reglas ni archivos de soporte incluidos en la ruta del repositorio para esta skill. Así que conviene tratarla como una guía de alta señal, no como un instalador listo para usar. Aun así, tendrás que:
- adaptar el código a tu framework
- construir la UI del código QR
- decidir cómo se muestran y confirman los códigos de respaldo
- probar en tu propia app el comportamiento de dispositivos de confianza y recuperación
Preguntas frecuentes sobre la skill two-factor-authentication-best-practices
¿Esta skill es solo para Better Auth?
Sí. Esta guía two-factor-authentication-best-practices trata específicamente sobre el plugin twoFactor de Better Auth y el uso del plugin correspondiente en cliente. Si usas Auth.js, Firebase Auth, Cognito o un stack de autenticación propio, te conviene otro recurso.
¿Es una buena opción para principiantes?
Es apta para principiantes solo si ya tienes una instalación funcional de Better Auth. No es una introducción completa a autenticación, bases de datos ni flujos de migración.
¿Cubre solo TOTP?
No. La descripción de la skill también apunta a OTP por email/SMS, códigos de respaldo, dispositivos de confianza y gestión del flujo de inicio de sesión. Aun así, los ejemplos visibles de configuración ponen mucho énfasis en TOTP, así que cabe esperar que TOTP sea la ruta más clara.
¿Cuándo no debería usar esta skill?
Omite esta skill si:
- no estás usando Better Auth
- necesitas una comparativa de productos, no ayuda de implementación
- buscas orientación general de
two-factor-authentication-best-practicessin código - necesitas WebAuthn o passkeys como factor principal en lugar del flujo 2FA del plugin de Better Auth
¿Es mejor que preguntarle directamente a un modelo de IA?
Para trabajo de 2FA específico de Better Auth, normalmente sí. Un modelo genérico puede sugerir patrones de MFA que no encajan con las APIs de plugins de Better Auth ni con su comportamiento de activación. Esta skill acota el espacio de solución a las primitivas correctas.
¿Ayuda con el diseño de Access Control?
Sí, dentro de su alcance. El enfoque de two-factor-authentication-best-practices para Access Control es más fuerte cuando necesitas imponer seguridad reforzada en el inicio de sesión y en la protección de cuentas. Es menos útil para modelos de autorización más amplios como RBAC o ABAC.
Cómo mejorar la skill two-factor-authentication-best-practices
Da tus rutas reales de archivos y la forma actual de tu código
La manera más rápida de mejorar la calidad de la respuesta es facilitar los archivos actuales de autenticación de servidor y cliente. Eso permite que la skill proponga cambios que encajen con tu estructura de imports, la forma de tu array de plugins y tus patrones de routing.
Especifica desde el principio el factor y la política de recuperación
Indica exactamente qué flujos quieres:
- solo TOTP
- TOTP más códigos de respaldo
- TOTP más fallback por email/SMS
- soporte para dispositivos de confianza
- reverificación de contraseña antes de la activación
Estas decisiones cambian materialmente la respuesta. Si las omites, la skill tendrá que asumirlas.
Pide explícitamente los pasos de migración y verificación
Un modo de fallo habitual es obtener snippets de código sin los controles operativos. Pide:
- comando de migración
- paso de verificación del esquema
- presencia esperada de columnas
- casos de prueba para activación y challenge de inicio de sesión
Eso hace más seguro el proceso de instalación de two-factor-authentication-best-practices.
Pide a la skill que separe configuración y UX
Solicita la respuesta por secciones:
- instalación del plugin
- cambios de esquema
- UI de activación
- flujo de challenge
- gestión de respaldo/recuperación
- checklist de pruebas
Así evitarás respuestas mezcladas donde se combinan código, routing y recomendaciones de política en un mismo bloque.
Vigila estos modos de fallo habituales
La mayoría de los malos resultados vienen de:
- olvidar el plugin de cliente
- no incluir la lógica de redirección
- no ejecutar la migración
- asumir que 2FA está habilitado antes de la primera verificación
- implementar la visualización del QR sin contemplar los códigos de respaldo
- tratar los dispositivos de confianza como una función solo de UI
Si detectas uno de estos huecos en la primera respuesta, pide una revisión corregida del flujo completo.
Itera después del primer borrador
Cuando la skill te dé un plan de implementación, mejóralo preguntando:
- "What edge cases are missing?"
- "Review this flow for lockout risk."
- "Add test scenarios for failed TOTP, backup code use, and device trust."
- "Rewrite this for my exact route structure."
Ese segundo pase es, a menudo, el momento en que la skill pasa de útil a realmente lista para desplegarse.
