社区/文章分享/新能力丨云开发CloudBase已原生支持短信验证码登录

新能力丨云开发CloudBase已原生支持短信验证码登录

云开发 CloudBase 现已原生支持短信验证码登录

没错,以往需要使用云开发扩展能力和 SDK 实现的短信验证码登录鉴权,即日起只需简单的配置和调用即可实现,大大提升效率!

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

至此,云开发 CloudBase 已支持 7 种登录鉴权方式,供不同的用户场景使用:

登录类型 应用场景
短信验证码登录New 用户使用自己的手机号+验证码登录。
匿名登录 用户以临时的匿名身份登录云开发,无需注册。
邮箱登录 用户使用自己的邮箱+密码登录。
微信授权登录 1、经微信公众平台授权的公众号网页;2、经微信开放平台用授权的网站。
自定义登录 开发者可以完全接管登录流程,例如与自有的账号体系打通、自定义登录逻辑等。
用户名密码登录 用户使用自己的用户名+密码登录。
微信小程序登录 已开通云开发的微信小程序初始化后便同步完成登录鉴权,无需额外操作。

详见文档:https://docs.cloudbase.net/authentication/introduce.html

配置方法

1 . 前往云开发控制台,在 环境-登录授权 中,开启“短信验证码登录”开关。

2、登录流程

(1) 初始化 SDK

短信验证码登录功能在 @cloudbase/js-sdk@1.5.0 版本以上支持,请升级后使用。

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

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

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

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

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

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

密码强度要求:

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

(3) 使用 手机号+密码 或手机号+短信验证码 即可登录

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

相关说明

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

关于登录鉴权

CloudBase 提供跨平台的登录鉴权功能,您可以基于此为自己的应用构建用户体系,包括但不限于:

  • 为用户分配全局唯一的身份标识 uid;
  • 储存和管理用户个人信息;
  • 关联多种登录方式;
  • 管理用户对数据、资源的访问权限;
  • 用户行为的收集和分析。

同时,CloudBase 登录鉴权还是保护服务资源的重要手段,CloudBase 对用户端发来的每一个请求,都会进行身份和权限的检查,避免您的资源被恶意攻击者消耗或盗用。

详见文档:https://docs.cloudbase.net/authentication/introduce.html

产品介绍

云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为开发者提供高可用、自动弹性扩缩的后端云服务,包含计算、存储、托管等 serverless 化能力,可用于云端一体化开发多种端应用(小程序,公众号,Web 应用,Flutter 客户端等),帮助开发者统一构建和管理后端服务和云资源,避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
开通云开发:https://console.cloud.tencent.com/tcb?tdl_anchor=techsite
产品文档:https://cloud.tencent.com/product/tcb?from=12763
技术文档:https://cloudbase.net?from=10004
【技术交流群】添加小助手微信号 Tcloudedu1,回复:技术交流
最新资讯关注微信公众号【腾讯云云开发】