zoukankan      html  css  js  c++  java
  • 用Laravel Sms实现 laravel短信验证码的发送

    使用Laravel Sms这个扩展包实现短信验证码的发送,这里以阿里云的短信服务为例:
    首先,要创建短信签名和短信模板,具体申请详情如下,

    这里写图片描述

    这里写图片描述

    接下来,需要创建AccessKey,由于AccessKey是访问阿里云API的密钥,具有你所登陆的账户完全的权限,为了安全起见,建议使用子用户AccessKey,为其分配一定的权限即可。
    这里写图片描述
    这里写图片描述

    接下来,在项目根目录执行命令:

     composer require toplan/laravel-sms:~2.6

    这里写图片描述

    然后,注册服务提供器:
    在config/app.php文件中providers数组里加入:

    ToplanPhpSmsPhpSmsServiceProvider::class,
    ToplanSmsSmsManagerServiceProvider::class,

    在config/app.php文件中的aliases数组里加入

    'PhpSms' => ToplanPhpSmsFacadesSms::class,
    'SmsManager' => ToplanSmsFacadesSmsManager::class,
    
    • 生成配置文件和migration文件
    php artisan vendor:publish --provider="ToplanPhpSmsPhpSmsServiceProvider"
    php artisan vendor:publish --provider="ToplanSmsSmsManagerServiceProvider"

    这里会在config目录下生成两个配置文件,分别为phpsms.php和laravel-sms.php。
    这里写图片描述

    接下来,配置参数:
    打开phpsms.php,
    这里写图片描述
    找到agents数组中你需要的代理器,填好其相应的配置信息,我这里使用的是阿里云的短信服务(不是阿里大鱼)。
    这里写图片描述

    accessKeyId 和 accessKeySecret 是你在申请AccessKey时可以获取到的,
    signName 是指你申请的短信签名的名称。

    打开laravel-sms.php,找到templates数组,
    这里写图片描述

    这里对应的是你申请的短信模板的模板CODE。

    到这为止,基本的配置就已完成,不再过多叙述。

    另附一个封装好的js文件,https://github.com/toplan/laravel-sms/blob/master/js/laravel-sms.js
    将laravel-sms.js放入项目中,在需要使用验证码的地方引入该js,

    <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>

    点击发送按钮,就可以获取到验证码了。

    参考链接:https://github.com/toplan/laravel-sms

  • 相关阅读:
    [Python] 登录人人网2011版
    [WPF] 自定义窗体样式
    [Python] 控制台输入密码的方法
    [Python] 字符串加密解密
    [WPF] 模仿AMD LIVE! EXPLORER界面
    [Python] Visual Studio 2008 集成 IronPython 开发环境
    mysql表类型(存储引擎)
    logstash收集nginx访问日志
    linux设置开机启动脚本
    logstash安装log4j插件
  • 原文地址:https://www.cnblogs.com/zbokett/p/8370533.html
Copyright © 2011-2022 走看看