位置: 编程技术 - 正文
推荐整理分享使用 laravel sms 构建短信验证码发送校验功能(使用权资产),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:使用筷子就餐会不会传染乙肝病毒,使用 Laravel 框架如何发起网络请求,使用 Laravel 框架如何发起网络请求,使用伪造变造机动车驾驶证扣几分,使用灭火器时要对准火焰的什么部位喷射,使用灭火器时要对准火焰的什么部位喷射,使用伪造变造机动车驾驶证扣几分,使用时间,内容如对您有帮助,希望把文章链接给更多的朋友!
laravel 实现短信验证码功能,搜索资料发现比较流行的有两个包:
一个是laravel sms 地址
一个是easy sms 地址 laravel-sms 这个包替代。且配置和使用简单易学。故有了这篇示例。
本例使用了Laravel 5.5、 Api Starter Kit 以及 Laravel Sms 2.6。
本例使用的短信服务商为云片。
安装
在项目根目录下执行(推荐):
也可以在 composer.json 的 require 字段中添加:
然后在项目根目录下执行:
在 config/app.php 的 providers 数组中添加:
并在 aliases 数组里添加:
在项目根目录下执行:
会在 config 文件夹中生成两个配置文件:phpsms.php 和 laravel-sms.php。
在 phpsms.php 中可以配置代理器信息及均衡调度方案。
在 laravel-sms.php 中可以配置验证码的发送与验证方案。
同时会向 databasemigrations 中复制 ____create_sms_table.php 文件。用于生成 laravel_sms 表。
配置
这里仅以云片为例。
配置 phpsms.php
设置 phpsms.php 中 agnets 数组中云片的代理器信息。
设置 scheme 数组,配置均衡调度方案。
配置 laravel-sms.php
设置内置路由。
设置请求间隔,单位为秒。
设置号码验证规则。
设置验证码规则。
设置验证码内容短信。
如果有需要,可以开启数据库日志。需要提前运行 php artisan migrate 生成 laravel_sms 表。
API 实现
在 app/Utils 下新建 SmsCodeUtil.php,并在里面实现验证码发送和校验功能。这样其他类可以随时调用,提高代码的复用性。
发送模块
发送前需要对手机号进行校验,包括:
通过验证后,再使用 requestVerifySms() 发送验证码。
具体代码如下:
校验模块
登入时,可能需要校验手机号和验证码。所以需要在 SmsCodeUtil.php 中添加验证码校验功能。这里官方 Github 上已经给出了代码,稍作修改即可。
功能测试
接下来配置路由和控制器,测试下功能是否正常。
可以同时打开 host-domain/laravel-sms/info 查看验证码短信发送和校验状态。
若启用了数据库日志,可以在 laravel_sms 表中查看短信发送结果的详细信息。
先在 api.php 中添加:
再在 LoginController.php 中添加:
然后使用 Postman 或其他类似工具测试 Api 功能。
发送验证码
若通过验证并发送成功,则会返回:
同时填写的手机号接受到验证码。
若验证失败或发送失败,则会返回对应的错误信息。
校验验证码
若通过验证,则无返回。
若验证失败,则会返回对应的错误信息。
本地化提示信息语言
在 laravel-sms.php 中提供了部分提示信息的自定义。想要将剩余部分的提示信息转换为本地语言,需要另行处理。
首先确保 config/app.php 中的语言设置正确。这里设置为 zh_cn。
然后在 resourceslangzh_cn 文件夹下新建 validation.php,并填入本地化信息:
重新 POST 相关地址,可以看到对应的提示信息语言已经本地化。
总结
以上所述是小编给大家介绍的使用 laravel-sms 构建短信验证码发送校验模块,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!
Laravel中服务提供者和门面模式的入门介绍 前言在laravel中,我们可能需要用到自己添加的类时,可以建立一个文件夹专门存放类文件,也可以使用laravel的服务提供者的方式来使用。这两者其实区
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势 本文介绍了使用Yii2AssetBundle中$publishOptions的正确姿势,分享给大家,具体如下:官方文档:
PHP+AJAX 投票器功能 终于到AJAX,翻译过来就是异步Javascript和XML,他可以实现网页内容的部分加载,可提高用户体验。现在有很多网站都有用这技术,反正你知道他能实现网
标签: 使用权资产
本文链接地址:https://www.jiuchutong.com/biancheng/275749.html 转载请保留说明!友情链接: 武汉网站建设