使用node发送验证码到手机或邮箱做校验

最近做的一个node项目,有个密码找回的功能,需要用到短信验证,后来又因为某种原因,要改成邮箱发送信息~类似这种验证码的需求想必是很常见的,只要有用户注册、密码修改找回功能的基本上都会用到,今天就介绍一下发送短信和发送邮件验证的基本步骤。

短信验证

准备:短信服务平台,查看开发文档

基本思路:后端接收到用户发出的验证码请求后,从数据库中寻找核对用户名和手机号信息,确认无误后,以手机号为key设置redis,然后获取redis中的回调再请求服务平台发送验证码(请求的url根据不同的服务平台来修改);然后验证验证码,就获取用户输入的验证码后,从redis中获取比对验证码是否一致。

1.安装引入必须的包

image.png

2.处理用户发送验证码的请求

image.png

发送验证码的内部实现:

image.png

3.处理验证请求

image.png

验证验证码的内部实现:

image.png

邮箱验证

准备:配置邮箱的SMTP服务

基本思路:后端接收到用户发出的验证码请求后,从数据库中寻找核对用户名和邮箱号信息,确认无误后,以邮箱号为key设置redis,然后获取redis中的回调再通过nodemailer发送邮箱信息;然后验证验证码,就获取用户输入的验证码后,从redis中获取比对验证码是否一致。

1.安装引入必须的包

image.png

2.处理用户验证码的请求

image.png

发送邮箱验证码的内部实现:

image.pngimage.png

验证邮箱验证码的内部实现:(其实和手机验证一样,参数换一换)

image.png

最后:

短信验证和邮件验证的思路其实是一样的,只是用不同的方式去发送而已,相比来说,邮箱验证不需要购买短信服务,但是有缺点,用个人邮箱发送的话会被当成垃圾邮件拒收,企业邮箱本人测了几条还行。以上两个例子只是一个基本思路,具体的还是得看实际需求,反正实现起来也都不难,各位可以参考参考。

坚持原创技术分享,您的支持将鼓励我继续创作!
0%