手机号登录
短信验证码登录和注册配置指南
手机号登录使用短信验证码方式,用户输入手机号后收到 6 位验证码,输入即可登录或注册。
个人开发者推荐:使用 阿里云短信认证服务(PNVS) 作为短信服务商。个人实名即可开通,无需企业资质、无需备案签名模板,5000 条验证码短信仅 250 元。详见 阿里云短信。
选择短信服务商
项目支持腾讯云短信、阿里云短信和 Twilio 三种服务商。个人开发者建议选择阿里云短信认证服务。
配置短信服务
在腾讯云 / 阿里云 / Twilio 控制台申请短信签名和模板,获取凭证后填入 .env.local:
# 选择服务商(tencent / aliyun / twilio)
SMS_PROVIDER=tencent
# 以腾讯云为例
TENCENT_CLOUD_SECRET_ID=your-secret-id
TENCENT_CLOUD_SECRET_KEY=your-secret-key
TENCENT_SMS_SDK_APP_ID=your-sdk-app-id
TENCENT_SMS_SIGN_NAME=your-sign-name
TENCENT_SMS_TEMPLATE_ID=your-template-id确认手机号登录路由
手机号登录的 API 路由已内置,无需额外配置。前端页面路径为 /auth/login/phone,API 端点由 Better Auth 的 phoneNumber 插件自动生成。
短信验证码有效期为 5 分钟,允许 3 次验证尝试。手机号验证通过后会自动注册新用户(如果该手机号尚未注册)。手机号格式会通过 @01mvp/utils 包中的 validateFullPhoneNumber 自动校验,支持国际号码。
完整的短信服务商配置说明(环境变量、模板审核、签名要求等),参见 短信服务。