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 '认证失败';
}
相关推荐
黑马源码库miui520861 分钟前
心理咨询法律咨询预约咨询微信小程序系统源码独立部署
微信小程序·小程序·uni-app·php·微信公众平台
失去妙妙屋的米奇32 分钟前
Python库与Excel
开发语言·python·excel
API小爬虫44 分钟前
如何设置动态代理提高Python爬虫稳定性?
开发语言·爬虫·python
无名之逆1 小时前
hyperlane:Rust HTTP 服务器开发的不二之选
服务器·开发语言·前端·后端·安全·http·rust
篝火悟者1 小时前
自学-python-爬虫入门
开发语言·爬虫·python
老赵骑摩托1 小时前
Go语言nil原理深度解析:底层实现与比较规则
开发语言·后端·golang
酷爱码1 小时前
python和Java的区别
java·开发语言
胡斌附体1 小时前
Qt下载模板到本地文件内容丢失问题
开发语言·qt
编码小笨猪2 小时前
[ C++ ] | C++11 从左值引用到右值引用
开发语言·c++
jk_1012 小时前
MATLAB中rmfield函数用法
开发语言·matlab