如何在 Laravel 5.5 中添加短信验证方式来重置密码?

问题和需求:Laravel 内置了用邮件找回密码的方式,我现在想添加一种用短信验证码重置密码的方式。
另外,我已经写好了发送短信验证码和验证用户输入是否和发送的短信匹配的接口;用户的数据表里有一项是其手机号码。
请问是否已经有轮子可供使用,或者能否提供一下大概思路,大概应该如何操作,谢谢!

阅读 2.7k
2 个回答
  1. 前端提交手机号+字母验证码(防止刷你的短信验证码接口浪费钱)
  2. 字母验证码验证通过后,生成随机的短信验证码(一般4或者6位数),并写入缓存key为(手机号.sms)之类的,值为短信验证码,缓存有效期5分钟(自己根据需要设置),再写入一个缓存,key为(手机号.fast),值为1,有效期1分钟,用来保证同一个手机一分钟最多发送一次验证码
  3. 前端提交短信验证码,手机号,密码
  4. 如果验证码和手机号匹配,则删除第2步设置的手机号.sms缓存并更新数据库中的密码

常用又简单的方式:

重置密码表单:mobile(手机号),code(验证码),password(新密码)

  1. 首先用户输入手机号后发送验证码,发送验证码时需要检验该手机号账号是否存在系统中,若存在就发出验证码,若不存在,则提示用户。
  2. 用户收到验证码后,输入验证码和新密码,提交请求。
  3. 服务端验证验证码,验证码正确修改密码,验证码错误提示用户。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题