谷歌二次验证 Google Authenticator

后台登录要搞令牌,类似于steam令牌、企鹅令牌等等

开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。

实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。

流程如下

大致流程

1、运行如下代码安装拓展包:

composer require "earnp/laravel-google-authenticator:dev-master"
### 安装二维码生成器
composer require simplesoftwareio/simple-qrcode 1.3.*

3.等待下载安装完成,需要在config/app.php中注册服务提供者同时注册下相应门面:

'providers' => [//........Earnp\GoogleAuthenticator\GoogleAuthenticatorServiceprovider::class,SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class,
],'aliases' => [//..........'Google' => Earnp\GoogleAuthenticator\Facades\GoogleAuthenticator::class,'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class
],

服务注入以后,如果要使用自定义的配置,还可以发布配置文件到config/views目录:

php artisan vendor:publish

注意绑定视图位置为resources/views/login/google/google.blade.php,然后您可以在config/google.php中修改账号名绑定验证地址

// 创建谷歌验证码
$createSecret = GoogleAuthenticator::CreateSecret();
//$createSecret = [
// "secret" => "NJURUPQN6XNYGSF2"
// "codeurl" => "otpauth://totp/?secret=NJURUPQN6XNYGSF2"
//]
// 生成二维码
$createSecret["qrcode"] = QrCode::enCoding('UTF-8')->size(180)->margin(1)->generate($createSecret["codeurl"]);
核心就是生成二维码之后,主要就是secret串,用手机app扫一扫就添加到验证器上面了

然后 服务端将生成的secret 串与用户进行绑定

下面是展示二维码的代码,用以进行绑定secret 串,如果绑定过就不再展示了

// 判断该用户是否已经存在google秘钥、没有重新生成
        if (empty($user['secret']) && $user['google_status'] === 0) {
            // 获取google秘钥
            $google = GoogleAuthenticator::CreateSecret();
            // 生成二维码
            $google["qrcode"] = QrCode::encoding('UTF-8')->size(180)->margin(1)->generate($google["codeurl"]);
        } else {
            $google['secret'] = $user['secret'];
            $google_url = "otpauth://totp/?secret=" . $user['secret'];
            // 生成二维码
            $google["qrcode"] = QrCode::encoding('UTF-8')->size(180)->margin(1)->generate($google_url);
        }

 

最后用户进行提交code,用绑定的secret 串 来校验

// 判断该用户是否开启google验证
    // 将用户输入的验证码与秘钥进行匹配
    if(1 === $user['google_status']){
        // Google验证码与秘钥进行匹配
        if(!GoogleAuthenticator::CheckCode($user['secret'],$param['secret'])){
           return '匹配成功';
        }
    }

然后可以继续登录后续业务了,如果要取消 只需要 删除user绑定的secret串就可重绑了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33635.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Google验证码Kaptcha的详细过程

使用Google验证码&#xff1a;Kaptcha 1.首先是导入jar包 2.第二步 配置jar包中的KaptchaServlet的路径 <!--配置google的验证码返回一个图片--><servlet><servlet-name>KaptchaServlet</servlet-name><servlet-class>com.google.code.kaptch…

谷歌公开测试Google Bard聊天机器人【无需排队,全面公测】

&#x1f951; Welcome to Aedream同学 s blog! &#x1f951; https://bard.google.com/ 更新&#xff01;&#xff01;&#xff01;&#xff01; bard全面放开了&#xff0c;可以用起来了&#xff0c;只需要满足网络就可以。 缺陷是暂时不支持中文 经过多年的谨慎发展&…

【Google Bard】公测已开始,与文心一言、chatGPT相比如何?

一、Google Bard简介 自从2022年11月30日&#xff0c;openAI开放聊天机器人chatGPT之后&#xff0c;其热度一直居高不下。 openAI公司成立于2015年&#xff0c;成立后不久&#xff0c;微软就对其工作给予了大力支持&#xff0c;包括资金援助、以及提供高性能服务器。 在这些…

读书笔记-别说你懂写网文

作者&#xff1a;千幻冰云 第一节 移动互联网时代的网络文学和商业化写作 1. 读者 读者分两类&#xff0c;一类是付费读者&#xff0c;一类是非付费读者。 2. 收入 决定网络写手收入的指标主要有两个&#xff1a;一是买断千字稿酬&#xff0c;一是读者订阅分成稿酬。 作者的名气…

阅文的IP梦

配图来自Canva可画 近日&#xff0c;阅文集团联合上海科技报最新发布的《2021科幻网文新趋势报告》显示&#xff0c;随着近年来互联网的不断发展&#xff0c;影响到大众生活的方方面面&#xff0c;也包括文学领域。 网文平台的创作者&#xff0c;尤其是年轻创作者的数量开始增…

魔改GPT自动写网文,速度一秒十字,还能给太监作品无限续更 | 开源

博雯 发自 凹非寺量子位 报道 | 公众号 QbitAI 如果一个人只看网文&#xff0c;那会写出来怎样的文字&#xff1f; 看了100G网文后&#xff0c;这个AI模型帮你试了一下。 先来一段自由创作&#xff1a; 乍眼看去很有内味&#xff0c;而且基本是一秒十字甚至更快的生成速度&…

外星生命或智能摆在面前,你能认出来吗?——“梯径”提供的思路

导语 外星生命一定长得像人类吗&#xff1f;最近和你火热聊天的 ChatGPT 有智能和意识吗&#xff1f;当外星智慧生命出现在眼前&#xff0c;即使它们不是我们熟悉的样子&#xff0c;我们能识别出来吗&#xff1f;是否可以用严格的数学形式来定量描述生命和智能的复杂度&#xf…

ai智能混剪批量剪辑软件开发工具|批量视频剪辑开发分享

AI智能批量剪辑系统研发主要涉及以下技术&#xff1a; 1. 视频处理技术&#xff1a;包括视频压缩、格式转换、去水印、稳定性处理等。 2. 视频剪辑技术&#xff1a;包括时间轴编辑、音视频素材分离、剪辑片段拼接等。 3. AI算法技术&#xff1a;包括图像识别、语音识别、自然…

竞彩足球分析小工具

18年世界杯时期&#xff0c;自己写了一个分析足球竞彩的小工具。工具虽然简单&#xff0c;但是可以增加购彩的乐趣。曾经这段代码差一点就丢了&#xff0c;现在拿出来给分享吧&#xff0c;这样就不用担心找不着了。作为一个普通球迷&#xff0c;边看球边买足彩也算是一种非常快…

kaggle比赛:Predict California sales prices(房价预测)

目录 1、比赛介绍&#xff1a;2、导入数据&#xff1a;3、项目构建&#xff1a;特征选择&#xff1a;预处理&#xff1a;训练&#xff1a;模型推理及保存预测结果&#xff1a; 4、上传预测结果到kaggle:5、总结&#xff1a; 本文内容来源于《动手深度学习》一书。跟着沐神做kag…

实际波动率预测:kaggle比赛

实际波动率预测 1. 比赛概述1.1 背景介绍1.2 赛事目标1.3 评估指标和结果提交 2. 数据介绍2.1 book_[train/test].parquet2.2 trade_[train/test].parquet2.3 train.csv2.4 test.csv2.5 sample_submission.csv 3. Optiver提供的[官方帮助文档](https://www.kaggle.com/jiashenl…

[Kaggle比赛] 高频股价预测小结

高频股价预测 文章目录 高频股价预测问题描述问题分析数据分析数据集数据清洗 解决方案数据预处理归一化PricesVolume时间信息对于预测值的处理噪声 模型探索基于LSTM的RNN模型递归神经网络(RNN)长短期记忆&#xff08;LSTM&#xff09;网络模型实现参数调整 卷积神经网络卷积神…

Predict Future Sales 预测未来销量, Kaggle 比赛,LB 0.89896 排名6%

Predict Future Sales 数据分析1. 数据基本处理1.1 读入数据集1.2 基线模型预测1.3 节省存储空间 2. 数据探索2.1 训练集分析 sales_train2.1.1 每件商品的销量2.1.2 每个商店的销量2.1.3 每类商品的销量2.1.4 销量和价格的离群值 2.2 测试集分析2.3 商店特征2.3.1 商店信息清洗…

世界杯押注还得看技术流,这个预测AI把赔率也算上了

胡澎 发自 凹非寺 量子位 报道 | 公众号 QbitAI 世界杯小组赛将收官&#xff0c;你还依然信AI吗&#xff1f; 冷门频出&#xff0c;黑马击败豪强。不少AI模型始料未及。 到底还能不能愉快找到科学规律&#xff1f;或者说足球比赛乃至其他竞技体育赛事&#xff0c;数据科学家在A…

足球大数据预测实战之高胜率盈亏条件验证及优化算法

上周接到一位老用户&#xff0c;之前为他做过数据验证&#xff0c;给出了组合条件下的胜率回查&#xff0c;结果有些难看啊。这期主要介绍常用人工智能算法中在足球预测中的应用&#xff0c;以及数据验证后的实际效果。 由上图为用户依据条件查证后的比赛场次和概率统计。可以看…

苹果手机朝下无法唤醒Siri,这个解决方法你知道吗

Siri对于苹果手机的用户来说是一个非常大的吸引点&#xff0c;能够指挥苹果手机中的Siri去做很多事情&#xff0c;如&#xff1a;放一首歌曲、百度一些知识点、这句话用英语怎么说等等功能。但是&#xff0c;不知道你们有没有发现一般我们苹果手机朝下无法唤醒Siri。是不是觉得…

如何解决Siri无法正常运行的问题

Siri 是一位智能助理,能帮助你在 Apple 设备上更快速轻松地处理各种事务,甚至不用等你开口。 Mac 上的 Siri 可帮助您执行日常任务&#xff0c;如获取问题的快速***、播放音乐等。您可以询问 Siri 几乎任何内容&#xff0c;Siri 都可以为您执行或回答您的问题。如果在使用 Siri…

【推荐实践】多场景多任务学习在美团到店餐饮推荐的实践

省时查报告-专业、及时、全面的行研报告库 省时查方案-专业、及时、全面的营销策划方案库 【免费下载】2023年2月份热门报告合集 ChatGPT团队背景研究报告 ChatGPT的发展历程、原理、技术架构及未来方向 ChatGPT使用总结&#xff1a;150个ChatGPT提示此模板 ChatGPT数据集之谜 …

倒计时3天!2023新榜AIGC生态大会看点剧透

倒计时3天&#xff01;「AIGC赋能重塑内容生态」2023新榜AIGC生态大会将于7月14日在北京丽都皇冠假日酒店重磅登场。 内容行业正在步入AI时代。 AIGC&#xff08;AI Generated Content&#xff0c;即人工智能生成内容&#xff09;被认为是继OGC、PGC和UGC之后的新型内容生产方式…

携程平台增长部总经理王绩强:原生互联网企业正在经历一场数字升级丨数据猿专访...

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 以大数据和人工智能为核心&#xff0c;众多新兴技术开始赋能数字营销。于是&#xff0c;智能营销已然从工具化走向了业务化。 如今&#xff0c;数字化营销已经成为了企业数字化转型中的重要一环。相较于传统营销逻辑&#x…