开发设计前的提前准备

  1. 安装Laravel 
  2. 安装二维码生成器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方式就可以,必须传到secrectonecode即短信验证码就可以开展校检,第一个为secrect;回到truefalse

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]);
}