Laravel-google-authenticator--Google验证码
程序员文章站
2022-11-21 18:03:30
开发前的准备 安装拓展 1、运行如下代码安装拓展包: 2、等待下载安装完成,需要在config/app.php中注册服务提供者同时注册下相应门面: 3、服务注入以后,如果要使用自定义的配置,还可以发布配置文件到config/views目录: 使用 使用方法非常简单,主要为生成验证码和教研验证码 1、 ......
开发前的准备
- 安装laravel
- 安装二维码生成器
qrcode
,没有安装也可以,接下来会安装
安装拓展
1、运行如下代码安装拓展包:
1 composer require "earnp/laravel-google-authenticator:dev-master" 2 ### 安装二维码生成器 3 composer require simplesoftwareio/simple-qrcode 1.3.*
2、等待下载安装完成,需要在config/app.php
中注册服务提供者同时注册下相应门面:
1 'providers' => [ 2 //........ 3 earnp\googleauthenticator\googleauthenticatorserviceprovider::class, 4 simplesoftwareio\qrcode\qrcodeserviceprovider::class, 5 ], 6 7 'aliases' => [ 8 //.......... 9 'google' => earnp\googleauthenticator\facades\googleauthenticator::class, 10 'qrcode' => simplesoftwareio\qrcode\facades\qrcode::class 11 ],
3、服务注入以后,如果要使用自定义的配置,还可以发布配置文件到config/views目录:
1 php artisan vendor:publish
使用
使用方法非常简单,主要为生成验证码和教研验证码
1、生产验证码
生产验证码使用createsecret
即可,你需要将其内容生成二维码供手机app扫描,具体内容在google.blade.php
中已经配置成功
1 // 创建谷歌验证码 2 $createsecret = google::createsecret(); 3 // 您自定义的参数,随表单返回 4 $parameter = [["name"=>"usename","value"=>"123"]]; 5 return view('login.google.google', ['createsecret' => $createsecret,"parameter" => $parameter]);
2、校验验证码
校验验证码一般用于绑定,登录认证中,使用checkcode
方法即可,需要传入secrect
和onecode
即验证码即可进行校验,第一个为secrect
;返回true
或false
if(google::checkcode($google,$request->onecode)) { // 绑定场景:绑定成功,向数据库插入google参数,跳转到登录界面让用户登录 // 登录认证场景:认证成功,执行认证操作 dd("认证成功"); }else { // 绑定场景:认证失败,返回重新绑定,刷新新的二维码 return back()->with('msg','请正确输入手机上google验证码 !')->withinput(); // 登录认证场景:认证失败,返回重新绑定,刷新新的二维码 return back()->with('msg','验证码错误,请输入正确的验证码 !')->withinput(); }
这里有一个具体的实际事例:
use google; if ($request->ismethod('post')) { if (empty($request->onecode) && strlen($request->onecode) != 6) return back()->with('msg','请正确输入手机上google验证码 !')->withinput(); // google密钥,绑定的时候为生成的密钥;如果是绑定后登录,从数据库取以前绑定的密钥 $google = $request->google; // 验证验证码和密钥是否相同 if(google::checkcode($google,$request->onecode)) { // 绑定场景:绑定成功,向数据库插入google参数,跳转到登录界面让用户登录 // 登录认证场景:认证成功,执行认证操作 dd("认证成功"); }else { // 绑定场景:认证失败,返回重新绑定,刷新新的二维码 return back()->with('msg','请正确输入手机上google验证码 !')->withinput(); // 登录认证场景:认证失败,返回重新绑定,刷新新的二维码 return back()->with('msg','验证码错误,请输入正确的验证码 !')->withinput(); } }else { // 创建谷歌验证码 $createsecret = google::createsecret(); // 您自定义的参数,随表单返回 $parameter = [["name"=>"usename","value"=>"123"]]; return view('login.google.google', ['createsecret' => $createsecret,"parameter" => $parameter]); }
上一篇: canvas :原生javascript编写动态时钟
下一篇: VMS中解协议常用方法备忘(小结)