Laravel5中使用阿里大于(鱼)发送短信验证码

Laravel5中使用阿里大于(鱼)发送短信验证码

在做用户注册和个人中心的安全管理时,我实现借助第三方短信平台(阿里大于(鱼))在Laravel框架中进行手机验证的设置;阿里大于,是阿里通信旗下优质便捷的云通信服务平台,整合了三大运营商的通信能力,为开发者提供简洁易用的短信/语音API,三网合一通道,按需付费。

安装laravel阿里大于(鱼)服务

1
composer 
require 
iscms/alisms-
for
-laravel

注册服务(config/app.php)

在文件中找到Providers数组,写入

1
iscms/Alisms/AlidayuServiceProvider::
class

生成阿里大于(鱼)配置文件(config文件夹)

1
php artisan vendor:publish

修改阿里大于(鱼)配置文件(alisms.php)文件为:

1
2
3
4
5
<?php
  
return 
      
'KEY' 
=>env(
'ALISMS_KEY'
,null),
      
'SECRETKEY'
=>env(
'ALISMS_SECRETKEY'
,null)
  
];

laravel根目录下找到.env文件,把阿里大鱼的App key和配置成全局变量(http://www.alidayu.com/)

1
2
ALISMS_KEY=234*****3
ALISMS_SECRETKEY=****************

在您需要调用短信服务的控制器中,引用SMS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
use 
iscms\Alisms\SendsmsPusher 
as 
Sms;
 
 
public 
function 
__construct(Sms 
$sms
)
    
{
       
$this
->sms=
$sms
;
    
}
 
public 
function 
Alidayu(Request 
$request
){
    
$phone 

$request 
->input(
'phone'
,
'1508*****55'
); 
// 用户手机号,接收验证码
    
$name 

'小张个人博客'
;  
// 短信签名,可以在阿里大鱼的管理中心看到
    
$num 
= rand(100000, 999999); 
// 生成随机验证码
    
$smsParams 
= [
        
'number' 
=> 
"$num"
    
];
    
$content 
= json_encode(
$smsParams
); 
// 转换成json格式的
    
$code 

"SMS_63****73"
;   
// 阿里大于(鱼)短信模板ID
    
$request 
->session()->put(
'alidayu'
,
$num
);  
// 存入session 后面做数据验证
 
    
$result
=
$this
->sms->send(
$phone
,
$name
,
$content
,
$code
);
    
echo 
"验证码:"
.session(
'alidayu'
).
'<br/>'
;
    
if
(property_exists(
$request
,
'result'
)){
       
// 使用PHP函数json_encode方法将给定数组转化为JSON:
        
return 
json_encode([
'ResultData' 
=> 
'成功'

'info' 
=> 
'已发送'
]);
    
}
else
{
        
return 
json_encode([
'ResultData' 
=> 
'失败'

'info' 
=> 
'重复发送'
]);
    
}

参数说明:

$phone 手机号,用户输入的手机号
$name  短信签名,阿里大鱼申请的短信签名的名字
$content 替换短信模板中的变量,JSON字符串格式,所有值都是字符串,不能有整形
$code   阿里大鱼申请的短信模ID:SMS_39***4

阿里大于(鱼)短信模板(http://www.alidayu.com/)

1
2
3
 
模板名称: 身份验证
 
模板ID: SMS_39***4
 
*模板内容:验证码${code},您正在进行个人身份验证,打死不要告诉别人哦!

那么里面存在着变量${code}需要替换成验证码,那么对应的$content 就应该为{code:”生成的验证码,如:123456″}

到这里Laravel5使用阿里大于(鱼)发送短信验证码应该没有问题了,开始发送短信吧~ ^_^
alisms-for-laravel:https://packagist.org/packages/iscms/alisms-for-laravel

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113683.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 最小角回归算法定义_有无回归算法

    最小角回归算法定义_有无回归算法最小角回归算法(LeastAngleRegression,LAR)是一种针对于线性回归问题,快速进行特征选择和回归系数计算的迭代算法,其被广泛推广用于求解线性回归以及Lasso回归问题。最小角回归算法的核心思想为:将回归目标向量依次分解为若干组特征向量的线性组合,最终使得与所有特征均线性无关的残差向量最小。可见,最小角回归算法的关键在于选择正确的特征向量分解顺序和分解系数。为了更好的表示最…

    2022年8月21日
    6
  • fpga的spi的编程_UASP协议

    fpga的spi的编程_UASP协议什么是SPI协议?如何用FPGA实现?

    2022年10月16日
    2
  • 免备案空间收集

    免备案空间收集用了这个国外的免备空间,觉得其他的都弱爆了此空间无广告,大空间,速度快,而且是即时开通的,我去截图分享下。虽然是美国的,但是提供中文申请页面,但是用谷歌浏览器可以无障碍设置。这是登录进去时候的页面:这个是我目前的两个域名,每过24小时可以创建一个。这个是控制面板这个是我的账户信息可以看一下磁盘容量和带宽,都是大到用不完···,跟其他的需要付神马1块两块钱别人才提供给…

    2022年6月18日
    24
  • C++ merge函数

    C++ merge函数C++merge函数首先,merge()函数调用前必须保L1,L2是有序的,然后才能调用merge()函数。所以应该做两处更改:1.在worker类的公有函数中添加以下定义排序准则的函数。booloperator&lt;(constworker&amp;kk) { returnthis-&gt;age&lt;kk.getAge(); }2.在调用…

    2022年6月7日
    146
  • 软件生命周期_常见软件开发模型

    软件生命周期_常见软件开发模型1.软件生命周期软件生命周期是指软件从开始研制到最终被废弃所经历的各个阶段。在不同的阶段里,由不同的组织和人员执行不同的任务,需要消耗不同的资源。生命周期常见的有:瀑布模型、V模型、敏捷开发模型。

    2022年8月3日
    5
  • RFID-RC522射频

    RFID-RC522射频与Arduino的接线方法:下载库:  搜索RC522转载于:https://www.cnblogs.com/liming19680104/p/11577035.html…

    2022年7月14日
    16

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号