PHP基于Google Authenticator双因素身份验证实现动态码验证

一:介绍

Google Authenticator双因素身份验证是谷歌推出的一款动态口令工具,解决大家各平台账户遭到恶意攻击的问题,一般在相关的服务平台登陆中除了用正常用户名和密码外,需要再输入一次谷歌认证器生成的动态口令才能验证成功,相当于输入二次密码,以达到账户的高安全性。

二:拓展安装

复制代码
composer require huaweichenai/google-authenticator

三:使用

1:创建密钥

复制代码
$authenticator = new Authenticator();
$secret = $authenticator->createSecret();

2:获取手机端扫描二维码链接

复制代码
$authenticator = new Authenticator();
$qrCodeUrl  = $authenticator->getQRCodeGoogleUrl('username', $secret, 'title');

3:获取手机端扫描二维码的信息

复制代码
$authenticator = new Authenticator();
$authCode  = $authenticator->getAuthCode('username', $secret, 'title');
$authCode = urldecode($authCode);//使用此信息生成二维码

4:动态口令认证

复制代码
$authenticator = new Authenticator();
$verifyCode  = $authenticator->verifyCode($secret, 'code验证码');
if ($verifyCode) {
  echo '认证成功';
} else {
  echo '认证失败';
}
相关推荐
IOT-Power6 分钟前
QT构建构建DataBus总线
开发语言·qt
Ophelia(秃头版16 分钟前
JS事件循环与NodeJS事件循环(libuv)
开发语言·javascript
米饭的白色27 分钟前
matlab 中 `对数坐标` 画图下的 `hold on` 位置对坐标轴刻度的影响
开发语言·matlab
gjxDaniel29 分钟前
Go编程语言入门与常见问题
开发语言·后端·go
建群新人小猿1 小时前
陀螺匠企业助手——组织框架图
android·java·大数据·开发语言·容器
CV_J1 小时前
索引库操作
java·开发语言·elasticsearch·spring cloud
阿蒙Amon1 小时前
C#每日面试题-简述异常处理
开发语言·c#
敲敲千反田1 小时前
多线程复习
java·开发语言
APIshop2 小时前
Java获取item_get-获得某书商品详情接口
java·开发语言·python
Henry Zhu1232 小时前
Qt Model/View架构详解(四):高级特性
开发语言·qt·架构