云开发短信验证码登录最佳实践:预约、注册登录、验真场景
云开发推出短信验证码登录鉴权能力,相比扩展能力节省了大量配置,可以免去复杂的接入步骤,轻松和云开发登录等体系对接,本项目模拟了一个需要手机号验证的预约场景来进行说明。
短信扩展准备
准备云开发环境
打开云开发控制台,点击新建按钮,应用模板选择空模板,推荐大家选择按量计费方式进行开通。
根据提示点击下一步即可开通环境。
安装短信扩展应用
进入刚刚开通的云开发环境详情页,在左侧菜单中点击扩展应用,找到短信验证码登录,根据提示进行安装。
安装完成后会在你的云开发环境中创建以下资源:
- 云函数: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="//imgcache.qq.com/qcloud/cloudbase-js-sdk/${version}/cloudbase.full.js"></script>
<script src="//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 对用户端发来的每一个请求,都会进行身份和权限的检查,避免您的资源被恶意攻击者消耗或盗用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了