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 '认证失败';
}
相关推荐
统计学小王子13 分钟前
数学建模国赛倒计时 1 天 ——《统计模型精讲(逐步回归 R 语言实战篇)》
开发语言·数学建模·r语言
ttwuai19 分钟前
Go 后台接入单点登录后,JWT、菜单权限和接口 403 怎么验?
开发语言·后端·golang
qeen8720 分钟前
【C++】C++中的错误处理机制-异常
开发语言·c++·异常
步行cgn27 分钟前
OCP开闭原则:面向对象设计的核心原则
java·开发语言·开闭原则
曹牧28 分钟前
C#:模态对话框
开发语言·c#
mengge.cloud34 分钟前
0909华为云网络类服务实践小白实验教程
linux·运维·服务器·网络·华为云·php
en.en..37 分钟前
Linux wait()函数(预防僵尸进程)
java·大数据·开发语言
扬大平仔1 小时前
小深:用 AgentScope Java 2.0 Harness 做私人助手(上)
java·开发语言
yume_sibai1 小时前
正则表达式完全指南(基础语法 + 实战应用 + 性能优化 + 最佳实践)
开发语言·正则表达式·c#
AbandonForce1 小时前
简谈线程池
开发语言·c++·算法