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则要存起来,否则每次刷新后都是一个全新的值

橙子主题打折出售

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

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

热门文章

Windows Server IIS+ARR反向代理(配置反向代理服务器) 1.概念说明:反向代理反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相...WindowsServerIIS+ARR反向代理(配置反向代理服务器) 作者:Pastore Antonio
1581 浏览量
ffmpeg 生成水印 1:先要配置ffmpeg的滤镜:参考:https://www.jianshu.com/p/9d24...ffmpeg生成水印 作者:Pastore Antonio
1508 浏览量
C#中List的FindAll方法的正确打开方式 初略的介绍一种常见的List写法,这种写法在3.0以后其实是很简单的,但是在2.0左右的系统运用中还...C#中List的FindAll方法的正确打开方式 作者:Pastore Antonio
1467 浏览量
IntelliJ IDEA 代码字体大小的快捷键设置放大缩小(很实用)(图文详解) 这是在设置IntelliJIDEA...IntelliJIDEA代码字体大小的快捷键设置放大缩小(很实用)(图文详解) 作者:Pastore Antonio
1461 浏览量
Navicat Premium 12.0.22 安装与破解 一、安装  NavicatPremium12.0.22的下载链接:https://pan.ba...NavicatPremium12.0.22安装与破解 作者:Pastore Antonio
1447 浏览量