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 '认证失败';
}
相关推荐
2601_965798478 小时前
Is Piroll WordPress Theme Worth It for Freelancers? Full Review
数据库·php
qq_448011169 小时前
C语言中的野指针和空指针
c语言·开发语言·单片机
估值探索者9 小时前
【Python实时盯盘与预警 #08】成交额突然放大2倍?Python窗口比较抓异动
java·开发语言·python
yk 坤帝9 小时前
用Python实现发送《自动周报》实战脚本
开发语言·python
zero_703210 小时前
HCIP 课程文字版思维导图笔记
服务器·网络·php
abbgogo11 小时前
OSPF动态路由协议
开发语言·php
en.en..11 小时前
C 语言嵌入式事件驱动状态机完整教程(枚举配套)
c语言·开发语言
Tim_1011 小时前
【C++】024、new[]与delete[]配对使用
java·开发语言
Yyyyyy~12 小时前
[C语言]break和continue作业
c语言·开发语言
小黑技术栈12 小时前
Java前端基础到入门——16day
java·开发语言·前端