跳到主要内容

短信验证码登录

提示

短信验证码登录仅支持 上海 地域

使用短信验证码登录,用户可以通过「手机号 + 短信验证码」的方式快速登录,无需记忆密码。

前置动作

开启短信验证码登录

  1. 前往 云开发平台/身份认证/登录方式
  2. 在登录方式列表中,找到「短信验证码登录」,点击开启

注册用户

注册用户流程请参考 用户注册

登录流程

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 步:启用自定义通道

配置完成后,在 云开发平台/身份认证/登录方式 → 短信验证码,选择「自定义短信通道」并勾选,即可使用自定义短信模板。