200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 【Node.js】 调用阿里云短信验证码服务

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

时间:2019-09-08 16:37:07

相关推荐

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

目录

1、获取必备的参数① 获取 AccessKey② 获取签名名称和短信模板 code2、写代码① 调用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})})​

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

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

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

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

完毕~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。