目录

  • 1、获取必备的参数
    • ① 获取 AccessKey
    • ② 获取签名名称和短信模板 code
  • 2、写代码
    • ① 调用sdk
    • ② 生成六位数验证码
    • ③ 拿到前端传过来的手机号,调用 API 发送短信
    • ④ 将手机号和验证码保存进数据库
    • ⑤ 判断验证码是否正确,修改数据库里表的数据

1、获取必备的参数

需要获取的参数有:AccessKey、签名名称和短信模板 code

其中 AccessKey 包括 AccessKey ID 和 AccessKey Secret。

AccessKey ID:用于标识用户。

AccessKey Secret:用于验证用户的密钥。AccessKey Secret必须保密。

签名名称:接收验证码内容时,【】里的文字。

短信模板code:相当于短信内容的 id。

举个例子,短信内容如下:

【阿里云短信测试】您正在使用阿里云短信测试服务,体验验证码是:937553,如非本人操作,请忽略本短信!

其中,阿里云短信测试就是签名名称;而短信模板就是签名名称后面的文字内容。

① 获取 AccessKey

可点击查看官网文档,得到详细步骤。首先点击头像,选择AccessKey 管理。

创建 AccessKey 后,可以得到 AccessKey ID 和 AccessKey Secret。

② 获取签名名称和短信模板 code

可在短信服务控制台进行申请,勾选开通协议,单击开通服务。再进行申请签名和申请模版。

查看国内文本短信,点击签名管理,得到签名名称。点击模板管理,得到模板CODE。

2、写代码

① 调用sdk

安装:

$ npm install @alicloud/sms-sdk --save

打开 nodejs 项目,在 node_modules 文件夹里,使用 npm 引入 sms-sdk。其中 node_modules 文件夹是用来存放外部sdk文件的文件夹,只需写代码时,能正常引入,文件名不用在意。

  global.require = require;// 调用sdkconst SMSClient = require('@alicloud/sms-sdk');

② 生成六位数验证码

// 生成六位随机验证码

let smsCode = Math.random().toString().slice(-6);

③ 拿到前端传过来的手机号,调用 API 发送短信

    // 设置值let accessKeyId = "LTAI5tKAwfQVNM7nBM28XW9f";// AccessKey IDlet secretAccessKey = "zyg78UkQxWqboS04oNTaja4Gzkr8Jn";// AccessKey Secretlet signName = "阿里云短信测试"; // 签名名称let templateCode = "SMS_154950909";// 短信模板code
​// 初始化sms_clientconst smsClient = new SMSClient({accessKeyId, secretAccessKey})
​let phoneNum = tel_number;//手机号// 生成六位随机验证码let smsCode = Math.random().toString().slice(-6);console.log("smsCode:", smsCode);
​// 开始发送短信smsClient.sendSMS({PhoneNumbers: phoneNum,SignName: signName, //签名名称 前面提到要准备的TemplateCode: templateCode, //模版CODE  前面提到要准备的// TemplateParam: `{"code":'${str}'}`, // 短信模板变量对应的实际值,JSON格式TemplateParam: `{"code":'${smsCode}'}`, // 短信模板变量对应的实际值,JSON格式}).then(result => {console.log("result:", result)let {Code} = result;if (Code == 'OK') {res.json({code: 0,msg: 'success',sms: smsCode})console.log("result:", result);}}).catch(err => {console.log("报错:", err);res.json({code: 1,msg: 'fail: ' + err.data.Message})})
​

④ 将手机号和验证码保存进数据库

将手机号和验证码存入数据,用于判断前端在填写验证码后,传给的验证码是否准确。

⑤ 判断验证码是否正确,修改数据库里表的数据

从数据库获取手机号和验证码,判断点击登录后验证码是否一样。若一样就登录,将数据存入表里,若不一样,就传给前端提示验证码不一致。

完毕~

【Node.js】 调用阿里云短信验证码服务相关推荐

  1. 超详细的阿里云短信验证码服务接入流程(最新版)——包含工具类可直接使用(java)

    一.使用步骤 1.申请阿里云账号并认证 链接地址:https://www.aliyun.com/product/sms 2.创建一个新的AccessKeys 包含AccessKey ID 和Acces ...

  2. Springboot中使用阿里云短信验证码服务

    1.引入阿里云的包 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-s ...

  3. 阿里云短信验证码服务使用(java ssm为例)

    注册并登陆阿里云账号 不知道到网址的点击此处 添加模板 填写签名,选择适用场景为验证码 ps:签名为验证码签名的标签,[阿里云]验证号码为000000,那个阿里云就是签名(适用场景为通用需要填写企业信 ...

  4. 阿里云短信验证码服务

    1.开通服务 ​​​​​​短信服务_企业短信营销推广_验证码通知-阿里云 2.申请签名管理和模板管理 3.添加依赖 <dependencies><dependency>< ...

  5. 使用阿里云短信验证码API发送短信验证码(配置,获取短信验证码,注册,登录,密码重置)

    获取阿里云短信验证码需要的配置信息. 如果是新用户,可以免费领取3个月,老用户的话就只能购买了,但是也不贵. 申请短信签名 申请短信模板 编写发送短信验证码的工具类 代码中我已经进行了详细的注释,也写 ...

  6. springboot 使用shiro集成阿里云短信验证码

    目录 1.阿里云短信验证码服务 2.发送短信验证码 3.shiro配置多个realm 4.验证短信验证码 5.一些修改思路 引言:短信验证码是通过发送验证码到手机的一种有效的验证码系统,主要用于验证用 ...

  7. nodejs实现阿里云短信验证码

    nodejs实现阿里云短信验证码 事先准备 1.开通阿里云短信服务 2.获取 AccessKey 代码编写 事先准备 1.开通阿里云短信服务 1⃣️登陆阿里云,然后进入到 https://dysms. ...

  8. C# ASP.NET MVC 阿里云短信验证码Demo

    相信大家在开发过程中又很多使用到验证码验证的功能,今天将验证码的验证整理一下写了一个Demo 通过本篇后你能学习到: 阿里云短信服务 Drapper连接SQL Server进行增改操作 JS前端倒计时 ...

  9. TP5调用阿里云短信接口实现发送短信功能

    TP5调用阿里云短信接口实现发送短信功能 工作需要,对接阿里云的短信服务,借此记录一下(网站 www.lelee.top) 主要分为两个部分,一是下载官方的Demo事例,这个不需要多说,自己去下载就行 ...

最新文章

  1. CSDN送会员?免费的!都来领!
  2. JTABLE加滚动条
  3. eNSP模拟器路由器无法正常启动一直显示“#”——问题解决方法
  4. PostgreSQL系统表和视图
  5. ViewPager图片切换的简单案例
  6. 8636 跳格子(dfs+记忆化搜索)
  7. 少侠请重新来过 - Vue学习笔记(二) - Vue生命周期
  8. 虚拟化部署之Windows 7中远程管理Hyper-V
  9. 基于shell 脚本处理文本数据流程
  10. 自然辩证法2018版_(完整word版)2018年《自然辩证法概论》已整理
  11. 计算机中ms-dos什么意思,msdos是什么意思
  12. 系统运维安全管理办法_7.系统运维安全管理规定
  13. 漏洞修复:Cache Management: Insecure Policy
  14. nginx实现均衡负载、nginx第三方模块的添加
  15. Altium Designer--如何用快捷键进行元器件旋转
  16. 数据科学学习笔记8 --- 分类(有监督的学习)
  17. 适者生存还是强者生存
  18. etl构建数据仓库五步法_ETL构建数据仓库五步法
  19. 秘宝 | 将体育赛事结合区块链 数字藏品新风向
  20. 一个研究生导师的肺腑直言

热门文章

  1. python sklearn svm 模型训练后的参数说明
  2. 常用数据类型打印格式
  3. window.print()打印样式不生效的问题
  4. 中国移动:GSM、TD-SCDMA 中国联通:GSM、WCDMA 中国电信:CDMA、CDMA2000
  5. 微信小程序for循环,点击传递参数
  6. 深度学习用于交通标志识别
  7. 处理人际关系的技巧(转)
  8. 用c语言编周期串程序,thi
  9. html5控件结构图,OrgChart组织架构图控件
  10. 骚操作!图片缩小后 内容竟变得完全不同?