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 '认证失败';
}
相关推荐
wjs2024几秒前
Memcached stats 命令详解
开发语言
云技纵横8 分钟前
Stream API 从入门到实践:常用操作、易错点与性能建议
开发语言·windows·python
Knight_AL11 分钟前
Java 17 新特性深度解析:记录类、密封类、模式匹配与增强的 switch 表达式对比 Java 8
java·开发语言
吴佳浩 Alben17 分钟前
Go 1.25.5 通关讲解
开发语言·后端·golang
XXYBMOOO19 分钟前
理解 C++ 中的字节序转换函数 `swapEndian`
开发语言·arm开发·c++
小高Baby@20 分钟前
深入理解golang的GMP模型
开发语言·后端·golang
a努力。21 分钟前
京东Java面试被问:Fork/Join框架的使用场景
java·开发语言·面试
毕加锁27 分钟前
深度解析昇腾Catlass:C++模板元编程与高性能算子开发范式(1)
开发语言·c++
鹿野素材屋1 小时前
帧同步场景下的确定性随机数生成:基于时间戳的固定种子设计与实践
java·开发语言
小真zzz1 小时前
当前集成Nano Banana Pro模型的AI PPT工具排名与分析
开发语言·人工智能·ai·powerpoint·ppt