Logo

php实现authenticator功能

photo

2024年03月27日

最近在实现一个MFC【多因子验证】来实现二次验证,分享以下整个过程

下载手机app

  • Authenticator(可以微软/谷歌)

php代码实现输出

//参考文档

https://github.com/Spomky-Labs/otphp/blob/HEAD/doc/index.md

<?php
namespace app\controller\user;

use OTPHP\TOTP;
use app\BaseController;

class Authenticator extends BaseController
{
   public function generateQrcode1()
    {
        $otp = TOTP::create();
        $scret = $otp->getSecret();
        echo "The OTP secret is: {$otp->getSecret()}\n";

        //生成6位数码
        echo "The current OTP is: {$otp->now()}\n";
        echo '<pre/>';
         //生成可扫描二维码
        $otp->setLabel('OA令牌验证功能');
        $grCodeUri = $otp->getQrCodeUri(
            'https://api.qrserver.com/v1/create-qr-code/?data=[DATA]&size=200x200&ecc=M',
            '[DATA]'
        );
        echo "<img src='{$grCodeUri}'>";
        echo '<pre/>';
        //解密
        $otp = TOTP::create($scret); // create TOTP object from the secret.

        var_dump($otp->verify($otp->now())); // Returns true if the input is verified, otherwise false.
    }

}
* 注意如果要固定scret则要存起来,否则每次刷新后都是一个全新的值

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它
所有附件
该文章没有附件.
本文为原创文章,请注意保留出处!

热门文章

Sql Server 部署SSIS包完成远程数据传输 本篇介绍如何使用SSIS和作业完成自动更新目标数据任务。**温馨提示:如需转载本文,请注明...SqlServer部署SSIS包完成远程数据传输 作者:Pastore Antonio
1723 浏览量
SharePoint2010升级到SharePoint2013操作手册 SharePoint2010升级到SharePoint2013操作手册目录第一章...SharePoint2010升级到SharePoint2013操作手册 作者:Pastore Antonio
1687 浏览量
C# DataTable 某一列求和 列为数字类型doubletotal=Convert.ToDouble(datatable.Com...C#DataTable某一列求和 作者:Pastore Antonio
1666 浏览量
修复moss本机访问SharePoint 401.1 HTTP错误 环境:DCServer&...修复moss本机访问SharePoint401.1HTTP错误 作者:Pastore Antonio
1654 浏览量
从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 这一篇是从0开始搭建SQLServerAlwaysOn的第三篇,这一篇才真正开始搭建Alway...从0开始搭建SQLServerAlwaysOn第三篇(配置AlwaysOn) 作者:Pastore Antonio
1618 浏览量