鍍金池/ 問答/PHP/ 如何在 Laravel 5.5 中添加短信驗證方式來重置密碼?

如何在 Laravel 5.5 中添加短信驗證方式來重置密碼?

問題和需求:Laravel 內置了用郵件找回密碼的方式,我現(xiàn)在想添加一種用短信驗證碼重置密碼的方式。
另外,我已經寫好了發(fā)送短信驗證碼和驗證用戶輸入是否和發(fā)送的短信匹配的接口;用戶的數據表里有一項是其手機號碼。
請問是否已經有輪子可供使用,或者能否提供一下大概思路,大概應該如何操作,謝謝!

回答
編輯回答
扯機薄
  1. 前端提交手機號+字母驗證碼(防止刷你的短信驗證碼接口浪費錢)
  2. 字母驗證碼驗證通過后,生成隨機的短信驗證碼(一般4或者6位數),并寫入緩存key為(手機號.sms)之類的,值為短信驗證碼,緩存有效期5分鐘(自己根據需要設置),再寫入一個緩存,key為(手機號.fast),值為1,有效期1分鐘,用來保證同一個手機一分鐘最多發(fā)送一次驗證碼
  3. 前端提交短信驗證碼,手機號,密碼
  4. 如果驗證碼和手機號匹配,則刪除第2步設置的手機號.sms緩存并更新數據庫中的密碼
2018年6月21日 15:21
編輯回答
瘋子范

常用又簡單的方式:

重置密碼表單:mobile(手機號),code(驗證碼),password(新密碼)

  1. 首先用戶輸入手機號后發(fā)送驗證碼,發(fā)送驗證碼時需要檢驗該手機號賬號是否存在系統(tǒng)中,若存在就發(fā)出驗證碼,若不存在,則提示用戶。
  2. 用戶收到驗證碼后,輸入驗證碼和新密碼,提交請求。
  3. 服務端驗證驗證碼,驗證碼正確修改密碼,驗證碼錯誤提示用戶。
2017年5月20日 12:04