跳到主要内容

短信验证码登录

使用短信验证码登录,您可以让用户使用自己的手机号,结合短信验证码或密码注册、登录 CloudBase,并且还可以更新或者解绑登录使用的手机号

使用限制及费用

  • 新开通的按量计费环境,或者 2021 年 4 月 9 日前开通的按量计费环境,享有首月 100 条的免费额度;
  • 超出免费额度的需求,开发者可以前往云开发控制台 购买资源包
  • 短信下发存在频率限制:
    • 同一号码 30 秒内最多发送 1 条;
    • 同一手机号一个自然日最多发送 10 条;

开通短信验证码登录

进入 云开发 CloudBase 控制台,在 登录授权 设置页面中,开启短信验证码登录:

登录流程

第 1 步:初始化 SDK

import cloudbase from "@cloudbase/js-sdk";

const app = cloudbase.init({
env: "your-env-id"
});

第 2 步:使用手机号注册账号

首先需要用户填入自己的手机号,然后调用 SDK 的发送短信验证码接口:

app
.auth()
.sendPhoneCode(phoneNumber)
.then(() => {
// 发送短信验证码
});

调用发送短信接口后,手机将会收到云开发的短信验证码。用户填入短信验证码,以及自定义密码后,调用注册账号接口:

app
.auth()
.signUpWithPhoneCode(phoneNumber, phoneCode, password)
.then(() => {
// 手机短信注册账号
});
密码强度要求

密码长度不小于 8 位,不大于 32 位,需要包含字母和数字。

第 3 步:使用手机号 + 密码 or 手机号 + 短信验证码登录 CloudBase

app
.auth()
.signInWithPhoneCodeOrPassword({
phoneNumber,
phoneCode, // 非必填,验证码和密码至少二选一
password // 非必填,验证码和密码至少二选一
})
.then((loginState) => {
// 登录成功
});