短信验证码登录
提示
短信验证码登录仅支持 上海 地域
使用短信验证码登录,用户可以通过「手机号 + 短信验证码」的方式快速登录,无需记忆密码。
前置动作
开启短信验证码登录
- 前往 云开发平台/身份认证/登录方式
- 在登录方式列表中,找到「短信验证码登录」,点击开启
注册用户
注册用户流程请参考 用户注册。
登录流程
Auth.signInWithSms 方法用于短信验证码登录。
import cloudbase from "@cloudbase/js-sdk";
const app = cloudbase.init({
env: "your-env-id",
region: "ap-shanghai", // 不传默认为上海地域
});
const auth = app.auth();
const phoneNumber = "+86 13800000000"; // 需要加区号
// 第一步:用户点击获取验证码,发送短信验证码
// 将 verificationInfo 存储到全局变量,方便第三步使用
const verificationInfo = await auth.getVerification({
phone_number: phoneNumber,
});
// 第二步:等待用户在页面中输入收到的短信验证码
const verificationCode = userInputCode; // 用户输入的 6 位验证码
// 第三步:验证短信验证码并登录
await auth.signInWithSms({
verificationInfo,
verificationCode, // 用户输入的短信验证码
phoneNum: phoneNumber, // 用户手机号
});
手机号格式说明
手机号需要加上区号,例如中国大陆手机号格式为 +86 13800000000
使用限制及费用
免费额度
- 新开通的按量计费环境,或 2021 年 4 月 9 日前开通的按量计费环境,享有首月 100 条的免费额度
- 超出免费额度后,开发者可以前往 云开发平台/资源包 购买短信资源包
频率限制
短信下发存在以下频率限制:
| 限制类型 | 限制规则 | 说明 |
|---|---|---|
| 单号码发送频率 | 30 秒内最多发送 1 条 | 防止恶意刷短信 |
| 单号码日发送量 | 默认最多 30 条/天 | 可在控制台修改上限 |
您可以在 云开发平台/身份认证/登录方式 中选择「短信验证码」进行修改。
自定义短信模板
使用云开发默认短信资源包时,短信模板内容不支持修改。如果您有以下需求:
- 自定义短信验证码模板内容
- 自定义短信签名
- 使用其他短信服务商
可以接入外部短信通道。
接入步骤
第 1 步:在外部短信服务平台配置短信模板和签名
在外部短信服务平台进行模板和签名配置。
第 2 步:接入云开发平台
在 云开发平台/扩展功能/新建 APIs 中进行接入配置。
以接入腾讯云短信服务为例,可参考此流程指引文档:腾讯云短信
第 3 步:启用自定义通道
配置完成后,在 云开发平台/身份认证/登录方式 → 短信验证码,选择「自定义短信通道」并勾选,即可使用自定义短信模板。