跳到主要内容

短信验证码登录

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

使用限制及费用#

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

开通短信验证码登录#

进入 云开发 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) => {    // 登录成功  });