跳到主要内容

短信验证码登录

提示

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

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

前置动作​

开启短信验证码登录​

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

验证码配置指南​

使用短信验证码登录,需要先接入短信服务商(如腾讯云短信)来发送验证码短信。

配置流程​

  1. 前往 腾讯云短信控制台,申请短信签名和短信模板,等待审核通过
  2. 前往 云开发平台/身份认证/登录方式,在「短信验证码登录」中填入申请的签名、模板等信息完成配置;也可以调用 ModifyLoginConfig 接口完成配置
  3. 配置完成后,用户在注册/登录时触发的验证码短信,将通过您配置的短信服务商发出

详细的签名、模板申请步骤及接口参数说明,请参考 自定义短信服务商配置指南。

注册用户​

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

登录流程​

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