云开发推出短信验证码登录鉴权能力,相比扩展能力节省了大量配置,可以免去复杂的接入步骤,轻松和云开发登录等体系对接,本项目模拟了一个需要手机号验证的预约场景来进行说明。
短信扩展准备 准备云开发环境打开云开发控制台,点击新建按钮,应用模板选择空模板,推荐大家选择按量计费方式进行开通。
根据提示点击下一步即可开通环境。
安装短信扩展应用进入刚刚开通的云开发环境详情页,在左侧菜单中点击扩展应用,找到短信验证码登录,根据提示进行安装。
安装完成后会在你的云开发环境中创建以下资源:
云函数:tcb-sms-auth-ext
快速搭建短信发送服务,降低开发者发送短信门槛。
云数据库:tcb-sms-auth-ext
存储验证码相关信息。
在第4步操作中,根据下图进行配置。
安装完成后就可以用云开发SDK来使用该扩展了。
在web项目中使用扩展方法一:通过包管理器引入
npm install @cloudbase/js-sdk -S npm install --save @cloudbase/extension-sms方法二:通过 CDN 引入
<script src="http://imgcache.qq.com/qcloud/cloudbase-js-sdk/${version}/cloudbase.full.js"></script> <script src="http://unpkg.com/@cloudbase/extension-sms/built/index.umd.js"></script>目前该扩展支持以下操作:
Send: 发送短信验证码
Verify: 校验短信验证码
Login: 短信验证码登录
部署预约案例此案例功能逻辑图如下:
1)、进入刚刚创建的云开发环境详情页面,点击左侧菜单中「数据库」进入,新建一个名为SIGN的数据集合。
2)、下载项目代码,在webviews/sign/index.js中,第一行,替换文字为自己的环境ID(一定要和前几步操作保持相同的环境ID)。
3)、如果你要在本地去进行测试,要在环境-安全配置中设置本地安全域名;可以将修改后的代码部署在云开发静态网站托管;预约的记录可以在数据库中SIGN集合找到,可以自己按照需要制作应用,或者使用CMS内容管理系统扩展能力。
相关说明1)、新开通的按量计费环境,或者 2021 年 4 月 9 日前开通的按量计费环境,享有首月 100 条的免费额度。
2)、 超出免费额度的需求,开发者可以前往云开发控制台购买资源包。
3)、 短信下发存在频率限制:同一号码 30 秒内最多发送 1 条;同一手机号一个自然日最多发送 100 条。
CloudBase 提供跨平台的登录鉴权功能,您可以基于此为自己的应用构建用户体系,包括但不限于:
为用户分配全局唯一的身份标识 uid;
储存和管理用户个人信息;
关联多种登录方式;
管理用户对数据、资源的访问权限;
用户行为的收集和分析。
同时,CloudBase 登录鉴权还是保护服务资源的重要手段,CloudBase 对用户端发来的每一个请求,都会进行身份和权限的检查,避免您的资源被恶意攻击者消耗或盗用。