SuperAPI AI 工具集

email-and-password-best-practices

安全与审计

查看项目

更新于 10-16 06:22

技能介绍

用途:为 Better Auth 项目配置邮箱/密码注册与登录流程,包括邮箱验证、密码重置、密码策略、令牌有效期、会话撤销与凭据哈希。

主要能力:启用 emailAndPassword;通过 emailVerification.sendVerificationEmail 发送验证邮件,可用 requireEmailVerification 阻止未验证用户登录(未验证者每次登录会收到新验证邮件,且仅适用于邮箱密码登录);通过 emailAndPassword.sendResetPassword 与 onPasswordReset 实现重置;支持 resetPasswordTokenExpiresIn(默认 1 小时,令牌一次性,重置成功后立即删除)、revokeSessionsOnPasswordReset、minPasswordLength(示例 12)与 maxPasswordLength(示例 256)。默认使用 Node.js 原生 scrypt,可自定义 hash/verify 换成 Argon2id 等算法;切换算法会使旧哈希用户无法登录,需规划迁移。

使用方式:配置 emailAndPassword: { enabled: true },运行 bun x @better-auth/cli@latest migrate,注册后确认验证邮件触发。客户端可用 authClient.requestPasswordReset 传入 email 与 redirectTo;注册/登录的 callbackURL 应使用含 origin 的绝对 URL。服务端可用 auth.api.requestPasswordReset。无服务器平台需配置 advanced.backgroundTasks.handler(如 waitUntil)。

安全与限制:内置后台发信、无效请求的虚拟操作、与用户是否存在无关的恒定响应。官方建议涉及 API 形状、验证钩子、重置令牌行为、策略、哈希或安全默认值时,先向 DeepWiki 查询 better-auth/better-auth,再以本地安装类型、源码或官方文档核实;稳定基础配置可跳过。其他细节资料暂未提供。