前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP设置谷歌验证器(Google Authenticator)实现操作二步验证

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证

作者头像
OwenZhang
发布2021-12-08 14:44:07
4.1K0
发布2021-12-08 14:44:07
举报
文章被收录于专栏:Owen's World

**使用说明:**开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。

下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)

github.com/PHPGangsta/…

PHP代码示例:

代码语言:javascript
复制
//引入谷歌验证器类
vendor('googleAuth.GoogleAuthenticator-master.PHPGangsta.GoogleAuthenticator');
$ga = new \PHPGangsta_GoogleAuthenticator();

//这是生成的密钥,每个用户唯一一个,为用户保存起来用于验证
$secret = $ga->createSecret();
//echo $secret;

//下面为生成二维码,内容是一个URI地址(otpauth://totp/账号?secret=密钥&issuer=标题)
$qrCodeUrl = $ga->getQRCodeGoogleUrl('luokakale', $secret, 'googleVerify');
//echo  $qrCodeUrl;
复制代码

将上面生成的二维码地址放入网页img标签里面即可,示例图展示如下:

接下来就是客户端谷歌验证APP扫码绑定后进行输码验证,验证PHP代码示例:

代码语言:javascript
复制
//引入谷歌验证器类
vendor('googleAuth.GoogleAuthenticator-master.PHPGangsta.GoogleAuthenticator');
$ga = new \PHPGangsta_GoogleAuthenticator();

//下面为验证参数
$code = $_GET['code'];//客户提交上来的谷歌验证APP里面对应的验证码

//该用户绑定谷歌验证生成的唯一秘钥
$secret = 'VO2WA6NG3XZZEU4E';

//验证用户提交的验证码是否正确
$checkResult = $ga->verifyCode($secret, $code, 1); 

if ($checkResult) {
    echo 'SUCCESS';
} else {
    echo 'FAILED';
}
复制代码

验证成功即客户绑定谷歌验证成功。该谷歌验证可用于客户登陆支付个人设置等各种场景。

本文属原创内容,为了尊重他人劳动,转载请注明本文地址:

www.cnblogs.com/luokakale/p…

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年10月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档