SuperAPI AI 工具集

two-factor-authentication-best-practices

安全与审计

查看项目

更新于 10-15 21:38

技能介绍

用途:在 Better Auth 中实现双因素认证,覆盖 TOTP 应用、邮件/短信 OTP、备用码恢复、可信设备与登录时的 2FA 跳转流程。

主要能力:服务端添加 twoFactor() 插件并设置 issuer,客户端添加 twoFactorClient() 插件;运行 npx @better-auth/cli migrate 并确认 user 表存在 twoFactorSecret 列。支持 TOTP(可配 digits 6/8、period 30 秒)、OTP(sendOTP 自定义发送、period、digits、allowedAttempts、storeOTP 可选 plain/encrypted/hashed 或自定义加解密)、备用码(amount、length、storeBackupCodes,单次使用,可重新生成并作废旧码)。登录时响应含 twoFactorRedirect,需跳转验证页;验证成功后才创建会话。可信设备通过 trustDevice: true 启用,默认 30 天并随登录刷新。

使用方式:启用 2FA 需密码验证,返回 totpURI(用于生成二维码)与 backupCodes;首次 TOTP 验证成功前 twoFactorEnabled 不会置为 true。验证接口包括 verifyTotp、verifyOtp、verifyBackupCode;禁用 2FA 需密码确认并撤销可信设备记录。

限制:2FA 仅适用于凭证(邮箱/密码)账户;内置限流为所有 2FA 端点每 10 秒 3 次请求;临时 2FA cookie 默认 10 分钟。涉及插件 API 细节时建议先核对本地类型或官方文档。