IQ——是否开发过短信验证码功能,请描述一下使用短信验证码进行用户注册业务流程和技术实现?

开发过。

零、准备工作:
1)购买消息服务产品——106三网短信
2)构建maven工程,依赖短信jar包
3)配置配置文件,其中:唯一的APPCODE、tpl_id使用默认模板即可
4)下载短信工具类
5)搭建用户注册三个maven模块工程user-interface、user-service、user-web
6)使用消息中间件提升性能,并让用户注册(user)与短信服务(sms)解耦

一、前端:
1)当用户点击获取验证码时,像后台发送请求,并携带电话号码给后台

二、user用户模块:
1)接收前端发送过来的电话号码,controller中首先调用工具类校验手机号码是否合法,然后调用service随机生成6位伪随机的数据;
2)将手机号码作为key,验证码作为值存储在redis中,并设置有效时间;
3)将电话号码、验证码(伪随机的6位数)封装在MapMessage中。mobile对应电话号码、code对应验证码,最后调用远程服务sms

三、sms短信模块:
1)过滤器拦截user模块发送的请求,转换message为MapMessage
2)通过key(mobile、code)获取电话号码,验证码
3)读取配置文件获取APPCODE,tpl_id
4)最后调用短信工具类完成短信的发送

四、完成注册
用户将获取到的验证码填入,发生注册请求。后台首先通过手机号码去redis中获取code,如果code不存在,表示该用户并没有获取过验证码,输入的验证码无效;如果存在,将输入的code与redis中获取的code进行比较,如果不相等,验证码输入有误,不能注册。否则注册成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈年_H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值