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

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

在做用户注册和个人中心的安全管理时,我实现借助第三方短信平台(阿里大于(鱼))在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

文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/lxw1844912514/article/details/100028883

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。