鍍金池/ 問(wèn)答/PHP/ 如何在 Laravel 5.5 中添加短信驗(yàn)證方式來(lái)重置密碼?

如何在 Laravel 5.5 中添加短信驗(yàn)證方式來(lái)重置密碼?

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

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

常用又簡(jiǎn)單的方式:

重置密碼表單:mobile(手機(jī)號(hào)),code(驗(yàn)證碼),password(新密碼)

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