摘要:支持短信驗證碼未驗證時,用戶再次請求驗證碼,在有效分鐘內(nèi)驗證碼保持一致。集成短信發(fā)送路由,支持和發(fā)送方式。有效期為分鐘,請盡快驗證。
Laravel Sms
Laravel 貼合實際需求同時滿足多種通道的短信發(fā)送組件
我們基于業(yè)務需求在 overtrue/easy-sms 基礎進行擴展開發(fā),主要實現(xiàn)如下目標:
支持短信驗證碼直接在 config 中配置模板ID
支持短信驗證碼自定義長度
支持短信驗證碼有效分鐘,默認5分鐘
支持短信驗證碼重試次數(shù),防止用戶意外輸錯驗證碼導致需要再次發(fā)送驗證碼的問題。
支持短信驗證碼未驗證時,用戶再次請求驗證碼,在有效分鐘內(nèi)驗證碼保持一致。
集成短信發(fā)送路由,支持 web 和 api 發(fā)送方式。
支持驗證碼調(diào)試,debug 模式下可直接查詢手機號目前有效的驗證碼
支持驗證碼發(fā)送記錄到數(shù)據(jù)庫,方便查看發(fā)送日志和錯誤原因
包地址:ibrand/laravel-sms
TODO:
支持語音驗證碼
安裝composer require ibrand/laravel-sms:~1.0 -vvv
低于 Laravel5.5 版本
config/app.php 文件中 "providers" 添加
iBrandSmsServiceProvder::class
config/app.php 文件中 "aliases" 添加
"Sms"=> iBrandSmsFacade::class使用 發(fā)送驗證碼
實現(xiàn)了發(fā)送短信驗證碼路由,支持 web 和 api ,可以自定義路由的 prefix。
"route" => [ "prefix" => "sms", "middleware" => ["web"], ], or "route" => [ "prefix" => "sms", "middleware" => ["api"], ],
POST請求 http://your.domain/sms/verify-code
參數(shù):mobile
備注:為了支持開發(fā)時的調(diào)試,在發(fā)送驗證碼時不去驗證手機號本身的有效性,請在發(fā)送驗證碼前自行驗證。
返回參數(shù):
{ "status": true, "message": "短信發(fā)送成功" }驗證驗證碼
use iBrandSmsFacade as Sms; if (!Sms::checkCode( equest("mobile"), equest("code"))) { //Add you code. }配置模板 ID
在 config/ibrand/sms.php 的 gateways 參數(shù)可以直接添加 code_template_id 來配置模板 id
// 可用的網(wǎng)關配置 "gateways" => [ "errorlog" => [ "file" => "/tmp/easy-sms.log", ], "yunpian" => [ "api_key" => "824f0ff2f71cab52936axxxxxxxxxx", ], "aliyun" => [ "access_key_id" => "dalvTXXX", "access_key_secret" => "XXXX", "sign_name" => "阿里云短信測試專用", "code_template_id" => "SMS_80215252" ], "alidayu" => //... ], ],配置 Content
非模板類通道,可以通過 config/ibrand/sms.php 自定義短信內(nèi)容
"content" => "【your signature】親愛的用戶,您的驗證碼是%s。有效期為%s分鐘,請盡快驗證。"
debug在實際開發(fā)中會存在并不用真實發(fā)出驗證碼的情況,因此在 debug 模式下,可以通過
http://your.domain/api/sms/info?mobile=1898888XXXX 來直接只看某個手機號當前有效驗證碼信息。
歡迎大家 star 和提交 issue :)討論交流
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/28129.html
由于前段時間自己在多個項目里都有發(fā)送短信的需求,導致我需要在每個項目里面重復寫短信發(fā)送,發(fā)送結(jié)果管理,以及驗證碼校驗等功能。 所以萌生了要為laravel量身打造一個綜合性的短信發(fā)送包。該包初步構(gòu)想的是能支持多種第三方服務商(如云片,云通訊,Luosimao等),并集成短信發(fā)送以及驗證碼短信發(fā)送/校驗模塊。 后來在phphub上看到有人提出如果短信發(fā)送不成功或者被審核了, 調(diào)用另一個服務商的來...
摘要:需求場景發(fā)送驗證碼或者消息通知,可發(fā)送到手機或郵箱中。完成首先,在中的規(guī)范就是使用的消息通知,這里基于場景為驗證碼。所以我們在驗證碼模型中添加是完全符合通知的正確使用的。 順便發(fā)個小通知:7月15日ThinkSNS+開源版發(fā)布,同時非開源的APP也走出內(nèi)測階段,體驗二維碼也全面發(fā)布體驗。 什么是ThinkSNS ? ThinkSNS(簡稱TS),一款全平臺綜合性社交系統(tǒng),為國內(nèi)外大中小...
摘要:在用短信擴展的時候發(fā)現(xiàn)怎么發(fā)送短信返回值為最后發(fā)現(xiàn)是因為包里面里面的地址用的的格式而官方給的文檔則是 showImg(https://segmentfault.com/img/remote/1460000008528722?w=1279&h=623);在用laravel-sms短信擴展的時候發(fā)現(xiàn)lusoimao怎么發(fā)送短信返回值為 [ { driver: Luo...
閱讀 1810·2021-08-13 15:06
閱讀 3100·2021-08-05 10:02
閱讀 3365·2019-08-30 15:55
閱讀 2378·2019-08-30 13:46
閱讀 2485·2019-08-30 13:01
閱讀 1323·2019-08-29 17:17
閱讀 2824·2019-08-29 15:27
閱讀 1431·2019-08-29 11:12