一、前言
最近做些网站的时候,需要使用到手机验证码,遂写和大家分享一下使用 nodejs 实现短信验证码登录的方案, 通过对该方案的实现大家可以可以对 nodejs 及其相关生态有一个更深入的理解.
1、方案概述
为了更高效的开发 nodejs 应用, 这里我选择 nest.js 作为服务端框架, 同时使用腾讯云的短信服务:
短信验证码登录具体流程如下:
- 用户访问网站登录页面, 输入手机号触发验证码
- node服务器收到请求后, 拼接所需参数(具体在下文会详细介绍), 请求第三方短信服务平台
- 第三方短信服务平台校验, 通过后下发对应短信
- 用户在网站输入收到的验证码, 请求登录接口完成登录
二、教程
1、阿里云配置
(1)购买短信服务
短信服务
在使用阿里云短信服务之前,需要先购买短信服务。
测试阶段可以先购买9.6块的套餐
(2)、短信测试
短信快速学习和测试
使用手机测试一下短信是否能正常发送
发送的短信参考如下:
(3)、资质申请
测试发送正常后,我们目前还是不能随意向其他手机发送短信。需要完成下面的资质申请
具体流程:
- 资质申请(主体)
- 签名申请(某个网站、APP等)
- 模板申请(前面两步完成后,去写这个模板)
完成这上面的三步后,阿里云这一边的前期资质和短信模板就算完成了。
时间花费主要是上面两步,大致需要在工作时间过3个小时左右,模板申请就比较快了,做完前面两个,这个正常情况是申请过一俩分钟就过了。(ps:我是这酱紫)
(4)、通用设置
这三个全部开了
2、获取API代码示例
短信服务-发送短信API示例
填入接受短信的手机号码、签名和短信模板
3、运行工程代码
这个没啥操作
具体步骤:
- 填入SK、ASK和sms信息
- 安装node和yarn
- yarn install
- yarn dev
按照上面的步骤基本就完成了
剩下的就是迁移到各自的项目问题。