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 '认证失败';
}
相关推荐
大猫和小黄3 分钟前
Java异常处理:从基础到SpringBoot实战解析
java·开发语言·spring boot·异常
半夏知半秋20 分钟前
kcp学习-通用的kcp lua绑定
服务器·开发语言·笔记·后端·学习
csbysj202038 分钟前
并查集路径压缩
开发语言
JavaEdge.1 小时前
java.io.IOException: Previous writer likely failed to write hdfs报错解决方案
java·开发语言·hdfs
C+++Python1 小时前
C++类型判断
开发语言·c++
黎雁·泠崖1 小时前
整数的N进制字符串表示【递归+循环双版满分实现】
c语言·开发语言
张张努力变强1 小时前
C++类和对象(一):inline函数、nullptr、类的定义深度解析
开发语言·前端·jvm·数据结构·c++·算法
独自破碎E1 小时前
Java的CMS垃圾回收流程
java·开发语言
oioihoii1 小时前
C++线程编程模型演进:从Pthread到jthread的技术革命
java·开发语言·c++
2501_941322032 小时前
道路检测新突破:Cascade R-CNN在COCO数据集上的实战应用详解
开发语言·r语言·cnn