当前位置:网站首页 > 服务器 > 正文

php使用谷歌的双重身份验证(Google Authenticator)

adminadmin 2018-12-19 399 0


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


github地址: https://github.com/PHPGangsta/GoogleAuthenticator

phpgangsta官网: https://www.phpgangsta.de/2-faktor-authentifizierung-mit-dem-google-authenticator


<?php
require_once 'GoogleAuthenticator.php';
$googleAuth = new PHPGangsta_GoogleAuthenticator();
// 这是生成的密钥(每次都会变),每个用户唯一一个,为用户保存起来
$secret = $googleAuth->createSecret();
// 生成二维码链接地址,根据内容是一个URI地址:otpauth://totp/{name}?secret={secret}&issuer={issuer} 生成
$qrCodeUrl = $googleAuth->getQRCodeGoogleUrl('Blog', $secret);
// 用给定的密钥和时间点计算code
$code = $googleAuth->getCode($secret);
// 时钟容差 $halfMinutes * 30秒
$halfMinutes = 2;
// 验证code
$checkResult = $googleAuth->verifyCode($secret, $code, $halfMinutes);
if ($checkResult) {
    echo 'OK';
}
else {
    echo 'FAILED';
}




标签:Google谷歌双重身份验证otpauthauthenticator

  • 流泪

    0

  • 打酱油

    0

  • 开心

    1

  • 鼓掌

    0

  • 恐怖

    0

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

请填写验证码
搜索
最近发表
标签列表
最新留言
    • 订阅本站的 RSS 2.0 新闻聚合