文章首发于:clawhub.club


用途

  • 注册
  • 登陆
  • 找回密码

方式

  • 邮件发送
  • 手机短信发送

逻辑

1 发送验证码

1.1 查看验证码发送记录,看是否能够发送验证码
  • 检查验证码最小发送间隔
  • 检查验证码今日已发送次数
1.2 刷新发送记录
  • 刷新最后发送时间
  • 递增今日发送次数
1.3 存储验证码信息

验证码结构

1
2
3
4
5
6
7
{
“addr”:123@qq.com”,//邮箱或手机号
“code”:985764,//验证码
“type”:”login”,//目的服务
“sendTime”:1509721130,//验证码发送时间戳
“activeMinute”:10//验证码有效时间
}
  • 验证码信息直接存到redis中,根据activeMinute加上过期时间
  • 最后发送时间/今日发送次数 也存储在redis中
  • 验证码信息,当天发送次数等,入mongodb
1.4 发送操作

将待发送信息放入队列,由邮件或者短信系统发送。

2 验证验证码

和缓存中的验证码比较。


本次只是简单的实现邮件发送方式,也没有将验证码服务单独部署。