用Laravel Sms實現 laravel簡訊驗證碼的傳送
阿新 • • 發佈:2019-01-10
阿里雲簡訊服務
使用Laravel Sms這個擴充套件包實現簡訊驗證碼的傳送,這裡以阿里雲的簡訊服務為例:
首先,要建立簡訊簽名和簡訊模板,具體申請詳情如下,
接下來,需要建立AccessKey,由於AccessKey是訪問阿里雲API的金鑰,具有你所登陸的賬戶完全的許可權,為了安全起見,建議使用子使用者AccessKey,為其分配一定的許可權即可。
接下來,在專案根目錄執行命令:
composer require toplan/laravel-sms:~2.6
然後,註冊服務提供器:
在config/app.php檔案中providers數組裡加入:
Toplan \PhpSms\PhpSmsServiceProvider::class,
Toplan\Sms\SmsManagerServiceProvider::class,
在config/app.php檔案中的aliases數組裡加入
'PhpSms' => Toplan\PhpSms\Facades\Sms::class,
'SmsManager' => Toplan\Sms\Facades\SmsManager::class,
- 生成配置檔案和migration檔案
php artisan vendor:publish --provider="Toplan\PhpSms \PhpSmsServiceProvider"
php artisan vendor:publish --provider="Toplan\Sms\SmsManagerServiceProvider"
這裡會在config目錄下生成兩個配置檔案,分別為phpsms.php和laravel-sms.php。
接下來,配置引數:
開啟phpsms.php,
找到agents陣列中你需要的代理器,填好其相應的配置資訊,我這裡使用的是阿里雲的簡訊服務(不是阿里大魚)。
accessKeyId 和 accessKeySecret 是你在申請AccessKey時可以獲取到的,
signName 是指你申請的簡訊簽名的名稱。
開啟laravel-sms.php,找到templates陣列,
這裡對應的是你申請的簡訊模板的模板CODE。
到這為止,基本的配置就已完成,不再過多敘述。
<script src="laravel-sms.js"></script>
<script>
$('#sendVerifySmsButton').sms({
//laravel csrf token
token : "{{csrf_token()}}",
//請求間隔時間
interval : 60,
//請求引數
requestData : {
//手機號
mobile : function () {
return '18*******37';
},
//手機號的檢測規則
// mobile_rule : 'mobile_required'
}
});
</script>
點擊發送按鈕,就可以獲取到驗證碼了。