云开发 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,回复:技术交流
最新资讯关注微信公众号【腾讯云云开发】
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。