开发设计前的提前准备
- 安装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]); }