Laravel-谷歌双重认证


一、composer安装

composer require pragmarx/google2fa-laravel

二、在Laravel中安装

  • Laravel 5.5以上
    无需操作
  • Laravel5.4及以下
    添加 Service ProviderFacade aliasapp/config/app.php (Laravel 4.x) 或者 config/app.php (Laravel 5.x):

PragmaRX\Google2FALaravel\ServiceProvider::class,

'Google2FA' => PragmaRX\Google2FALaravel\Facade::class,

三、生成配置文件

在终端执行:

php artisan vendor:publish --provider="PragmaRX\Google2FALaravel\ServiceProvider"

文件生成位置:config/google2fa.php

四、使用

  • 使用Facade
use Google2FA;
return Google2FA::generateSecretKey();
  • 使用依赖注入
$google2fa = app('pragmarx.google2fa');

return $google2fa->generateSecretKey();
  • 函数
$google2fa = app('pragmarx.google2fa');

//生成密匙,$length:密匙长度
$google2fa->generateSecretKey($length);

//密匙验证,$google2fa_secret:数据库保存的密匙;$secret:用户输入的验证码
$google2fa->verifyKey($google2fa_secret, $secret);

//二维码链接,$company:公司名,$email:邮箱,$secretKey:密匙
$google2fa->getQRCodeUrl($company, $email, $secretKey);

五、中间件

  • 在Kernel.php文件中添加一行:
protected $routeMiddleware = [
    ...
    '2fa' => \PragmaRX\Google2FALaravel\Middleware::class,
];
  • 在路由中使用
Route::get('/admin', function () {
    return view('admin.index');
})->middleware(['auth', '2fa']);

链接:https://github.com/antonioribeiro/google2fa-laravel

你可能感兴趣的:(Laravel-谷歌双重认证)