详情页标题前

腾讯云云函数(SCF)SCF + SMS 实现短信验证码功能-云淘科技

详情页1

通过手机短信发送验证码,是最普遍、最安全验证用户真实身份的方式。目前,短信验证码广泛应用于用户注册、密码找回、登录保护、身份认证、随机密码、交易确认等应用场景。n本文以使用 云函数 开发一个短信验证码登录注册服务为例,帮助您了解如何实现短信验证码功能。除云函数之外,还可通过使用 发送短信接口 实现。

准备工作

已 注册腾讯云 账号,并完成 企业实名认证。已 购买 短信套餐包。准备短信签名归属方资质证明文件,详细的文件清单以及规范请参见 签名审核标准。n 本文以使用企业营业执照作为资质证明文件为例。了解短信正文内容审核规范,详情请参见 正文模板审核标准。已获取短信应用的 SDKAppID。

相关资料

Demo 源码其他产品文档私有网络产品文档数据库 Redis 产品文档云函数产品文档

步骤1:配置短信内容

短信签名、短信正文模板提交后,我们会在2个小时左右完成审核,您可以 配置告警联系人 并设置接收模板和签名审核通知,便于及时接收审核通知。

步骤1.1:创建签名

1. 登录 短信控制台。2. 在左侧导航栏选择国内短信>签名管理,单击创建签名。3. 结合实际情况和 短信签名审核标准 设置以下参数:

参数 取值样例
签名用途 自用(签名为本账号实名认证的公司、网站、产品名等)
签名类型 App
签名内容 测试 Demo
证明类型 小程序设置页面截图
证明上传 

腾讯云云函数(SCF)SCF + SMS 实现短信验证码功能-云淘科技



4. 单击确定。n等待签名审核,当状态变为已通过时,短信签名才可用。

步骤1.2:创建正文模板

1. 登录 短信控制台。2. 在左侧导航栏选择国内短信>正文模板管理,单击创建正文模板。3. 结合实际情况和 短信正文模板审核标准 设置以下参数:

参数 取值样例
模板名称 验证码短信
短信类型 普通短信
短信内容 您的注册验证码:{1},请于{2}分钟内填写,如非本人操作,请忽略本短信。

4. 单击确定。n等待正文模板审核,当状态变为已通过时,正文模板才可用,请记录模板 ID。

步骤2:设置短信发送频率限制(可选)

注意个人认证用户不支持修改频率限制,如需使用该功能,请将 “个人认证” 变更为 “企业认证”,具体操作请参见 实名认证变更指引。为了保障业务和通道安全,减少业务被刷后的经济损失,建议 设置发送频率限制。另外,您也可以结合使用 腾讯云验证码 以便最大程度地保护业务安全。n本文以短信的默认频率限制策略为例。同一号码同一内容30秒内最多发送1条。同一手机号一个自然日最多发送10条。

步骤3:配置私有网络和子网

默认情况下,云函数部署在公共网络中,只可以访问公网。如果开发者需要访问腾讯云的 TencentDB 等资源,需要建立私有网络来确保数据安全及连接安全。1. 按需 规划网络。2. 创建私有网络,具体操作请参见 创建 VPC。注意私有网络和子网的 CIDR 创建后不可修改。

参数 取值样例
所属地域 t华南地区(广州)
名称 Demo VPC
IPv4 CIDR 10.0.0.0/16
子网名称 Demo 子网
IPv4 CIDR 10.0.0.0/16
可用区 广州三区

步骤4:配置 Redis 数据库

云数据库 Redis 实例需与 步骤3 配置私有网络的地域和子网的可用区保持一致。1. 购买云数据库 Redis 实例,具体操作请参见 购买方式。

参数 取值样例
计费模式 按量计费
地域 广州
数据库版本 Redis 4.0t
架构 标准架构
网络 Demo VPC,Demo 子网
实例名 立即命名:Demo 数据库
购买数量 1

步骤5:新建云函数

云函数目前支持 Python、Node.js、PHP、Java 以及 Golang 语言开发,本文以 Node.js 为例。1. 在 步骤3 创建的 VPC 所属地域中新建函数,具体操作请参见 编写函数。

参数 取值样例
函数名称 Demo
运行环境 Nodejs 8.9
创建方式 模板函数:helloworld

2. 部署函数并配置触发方式为API网关触发器,具体操作请参见 部署函数。

步骤6:启用公网访问配置(可选)

2020年4月29日前,部署在 VPC 中的云函数默认隔离外网。若需使云函数同时具备内网访问和外网访问能力,可通过启用公网配置方式实现。n 登录 云函数控制台,选择函数服务,在云函数列表中单击目标函数名进入函数配置页。单击编辑,勾选公网访问并单击保存保存配置。2020年4月29日及以后,新部署的云函数默认已启用公网访问,无需额外操作。

步骤7:部署短信 Demo

1. 前往 云函数控制台 并选择 SMS Demo 进行部署。n

腾讯云云函数(SCF)SCF + SMS 实现短信验证码功能-云淘科技

2.高级配置中设置 Demo 的环境变量。n

腾讯云云函数(SCF)SCF + SMS 实现短信验证码功能-云淘科技



字段 说明
REDIS_HOST Redis 数据库地址
REDIS_PASSWORD Redis 数据库密码
SMS_TEMPLATE_ID 模板 ID,必须填写已审核通过的模板 ID。模板 ID 可登录 短信控制台 查看。
SMS_SIGN 短信签名内容,使用 UTF-8 编码,必须填写已审核通过的签名,签名信息可登录 短信控制台 查看。注:国内短信为必填参数。
SMS_SDKAPPID 短信 SdkAppid 在 短信控制台 添加应用后生成的实际 SdkAppid,示例如1400006666。

3.高级配置中设置与 Redis 数据库相同的 VPC 环境。n

腾讯云云函数(SCF)SCF + SMS 实现短信验证码功能-云淘科技

4.高级配置中设置 SCF 运行角色权限。n

腾讯云云函数(SCF)SCF + SMS 实现短信验证码功能-云淘科技

n需要在 访问管理 控制台给 SCF_QcsRole 角色添加短信 QcloudSMSFullAccess 权限n

腾讯云云函数(SCF)SCF + SMS 实现短信验证码功能-云淘科技

n这样代码里就能获取到TENCENTCLOUD_SECRETID、TENCENTCLOUD_SECRETKEY、TENCENTCLOUD_SESSIONTOKEN环境变量了,发送短信的 sdk 会用到这些环境变量。5. 点击完成,即可完成函数部署。6. 创建函数 API网关触发器,请求该触发器地址,即可使用短信相关能力。n

腾讯云云函数(SCF)SCF + SMS 实现短信验证码功能-云淘科技



步骤8:功能使用及说明

验证码的时效性要求较高,您可以把验证码存在内存中或存在云数据库 Redis 中。以手机号作为 key,存储发送时间、验证码、验证次数、是否已验证过等信息。

功能

发送短信验证码

请求参数:

字段 类型 说明
method string 请求方法,值为 getSms
phone string 手机号,值为区号+手机号,例如86185662466**

校验验证码(登录)

请求参数:

字段 类型 说明
method string 请求方法,值为 login
phone string 手机号,值为区号+手机号,例如86185662466**
code string 值为6位数字验证码

错误码

字段 说明
InValidParam 缺少参数
MissingCode 缺少验证码参数
CodeHasExpired 验证码已过期
CodeHasValid 验证码已失效
CodeIsError 请检查手机号和验证码是否正确

如有任何疑问,请联系 腾讯云短信小助手,将有专人为您解答。
官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/150084.html

(0)
上一篇 2023年12月9日 下午1:30
下一篇 2023年12月9日 下午1:31
详情页2

相关推荐

  • 我使用数据传输DTS将PolarMySQL数据库同步到MaxCompute,我要怎么办?-云小二-阿里云

    我使用数据传输DTS将PolarMySQL数据库同步到MaxCompute,前些日子因为未知原因导致DTS任务同步出错,我们没及时去处理,导致后面需要重新配置DTS任务。现在我重新配置DTS任务,告警说我MaxCompute表已经存在。无法开始同步,我要怎么办? 1、我数据库表有几百张,让我一张张去删除也不现实。 以下为热心网友提供的参考意见 如历史任务无法…

    阿里云 2023年12月28日
  • 腾讯云云函数(SCF)触发器配置描述-云淘科技

    当您调用触发器接口 设置函数触发方式(CreateTrigger)时,对应的 TriggerDesc 参数为触发器描述,您可参考本文进行使用。 定时触发器 该参数直接填写 Cron 表达式,相关内容请参考 Cron 表达式。 TriggerDesc 示例 每五分种触发一次 0 */5 * * * * * API 网关触发器 名称 类型 必选 描述 api A…

    腾讯云 2023年12月9日
  • 腾讯云容器服务集群 API Server 网络无法访问排障处理同尘科技

    开启内网访问后无法访问 您可以直接在容器服务控制台上 开启内网访问。如果开启内网访问之后仍出现无法访问的情况,建议您对应集群类型进行如下检查: 托管集群 参考 查看节点安全组配置 检查集群中节点的安全组是否正确放通30000-32768端口区间。 独立集群 1. 参考 查看节点安全组配置 检查集群中节点的安全组是否正确放通30000-32768端口区间。2.…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云轻量应用服务器设置 Windows 实例分辨率云小二

    操作场景 本文介绍如何修改轻量应用服务器 Windows 实例的显示分辨率,您可参考本文进行操作。 操作步骤 您可根据所使用的登录方式,选择对应操作步骤:使用 VNC 方式登录 Windows 实例使用远程桌面连接登录 Windows 实例说明本文以系统镜像 Windows Server 2012 R2为例,不同版本的操作系统步骤有一定区别,请结合您的实际情…

    2023年12月9日
  • 腾讯云轻量应用服务器管理实例标签云小二

    操作场景 标签 是腾讯云提供的用于标识云上资源的标记,是一个键-值对(Key-Value)。标签可以帮助您从各种维度(例如业务、用途、负责人等)方便的对轻量应用服务器资源进行分类管理。本文介绍如何通过轻量应用服务器控制台,管理实例的标签。 使用限制 标签具备数量及命名限制,详情请参见 使用限制。 操作步骤 设置实例标签 1. 登录 轻量应用服务器控制台,选择…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。