短信验证码登录
提示
短信验证码登录仅支持 上海 地域
使用短信验证码登录,用户可以通过「手机号 + 短信验证码」的方式快速登录,无需记忆密码。
前置动作
开启短信验证码登录
- 前往 云开发平台/身份认证/登录方式
- 在登录方式列表中,找到「短信验证码登录」,点击开启
验证码配置指南
使用短信验证码登录,需要先接入短信服务商(如腾讯云短信)来发送验证码短信。
配置流程
- 前往 腾讯云短信控制台,申请短信签名和短信模板,等待审核通过
- 前往 云开发平台/身份认证/登录方式,在「短信验证码登录」中填入申请的签名、模板等信息完成配置;也可以调用 ModifyLoginConfig 接口完成配置
- 配置完成后,用户在注册/登录时触发的验证码短信,将通过您配置的短信服务商发出
详细的签名、模板申请步骤及接口参数说明,请参考 自定义短信服务商配置指南。
注册用户
注册用户流程请参考 用户注册。
登录流程
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