SuperAPI AI 工具集

email-and-password-best-practices

办公与效率

查看项目

更新于 10-16 09:32

技能介绍

用途:面向使用 Better Auth 的项目,指导配置邮箱/密码登录、邮箱验证、密码重置、密码长度策略与密码哈希算法。

主要能力与用法:

  • 启用邮箱/密码:设置 emailAndPassword.enabled 为 true。
  • 邮箱验证:配置 emailVerification.sendVerificationEmail 发送验证邮件;开启 emailAndPassword.requireEmailVerification 可在验证前阻止登录,此时每次登录尝试都会重发验证邮件,且仅适用于邮箱/密码登录。
  • 密码重置:在 emailAndPassword 中提供 sendResetPassword,可选 onPasswordReset 钩子;调用 auth.api.requestPasswordReset 或 authClient.requestPasswordReset 发送重置链接,email 必填,建议配置 redirectTo。
  • 密码策略:通过 minPasswordLength(示例 12)与 maxPasswordLength(示例 256)设置长度限制。
  • Token 安全:令牌默认 1 小时过期,可用 resetPasswordTokenExpiresIn(秒)调整,如 60 * 30;令牌为一次性,重置成功后立即删除。
  • 会话撤销:开启 revokeSessionsOnPasswordReset 可在重置密码时使所有现有会话失效。
  • 哈希算法:默认 scrypt;可自定义 password.hash 与 password.verify,例如使用 @node-rs/argon2 的 Argon2id。注意切换算法会导致旧密码用户无法登录,需规划迁移。
  • 安全机制:内置后台发送邮件、无效请求的占位操作、恒定响应消息;在 Serverless 平台需配置 advanced.backgroundTasks.handler。
  • 回调 URL:注册/登录的 callbackURL 应使用含 origin 的绝对 URL。
  • 迁移:运行 npx @better-auth/cli@latest migrate。验证:尝试注册并确认触发验证邮件。

限制:资料未提供价格、平台兼容性清单与具体效果数据。