Laravel5.2对接Google Authenticator实现二步认证

日常瞎逼逼(可以直接跳过看正文)

宝宝发现我网站的更新频率太低了, 想写点东西又不知从何写起. 可能一部分原因是前阵子做的东西是公司的, 没办法开源, 还有一个原因是最近在做的是私有的项目, 不方便开源. 当然, 还有更重要的原因是...肚里没货. [笑哭]

最近宝宝在学Laravel, 刚开始学, 以下内容如果有不正确之处, 欢迎斧正.

既然是做私有项目了, 而且这个项目是web的, 通过浏览器访问. 用的是Laravel, 它有一套自带的认证机制(5.2以上), 但是我觉得密码不安全, 虽然我已经用了20位的随机生成的密码了, 认证机制里又没有提供二步认证, 所以就有了这篇文章.

正文

二步认证现在也是用得比较多了, 有的是用短信, 有的是用app生成一个6位数的随机码, 然后在登录的时候要输入, 比如将军令之类的.

当然了, 使用短信也可以, 但是考虑到我的是私有项目, 所以要控制成本- -(主要是穷). 然后就选择了Google Authenticator

原理: 谷歌验证 (Google Authenticator) 的实现原理是什么?

直接用的是 PHPGangsta/GoogleAuthenticator

安装PHPGangsta/GoogleAuthenticator

修改laravel目录下的composer.json

在require里加入PHPGangstaAuthenticator, 就像这样

"require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.2.*",
    "phpgangsta/googleauthenticator": "dev-master"
},

然后

[root@superxc laravel]# composer install
[root@superxc laravel]# composer update

如果安装的过程中提示内存不足, 就像这样(我的服务器因为内存小, 所以出现了这个问题)

The following exception is caused by a lack of memory or swap, or not having swap configured

就需要手动挂载一个swap分区.

dd if=/dev/zero of=/var/swap.1 bs=1M count=1024 //生成一个大文件

mkswap /var/swap.1 //格式化成swap格式

swapon /var/swap.1 //挂载

free //查看swap是否正确挂载

swapoff -a //反挂载所有交换分区

使用PHPGangsta/GoogleAuthenticator

先use \PHPGangsta_GoogleAuthenticator;

然后就可以用了.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Google Authenticator(谷歌验证)的密码输入,实际上并没有一个固定的密码。Google Authenticator通过基于时间的一次性密码(TOTP)生成密码来进行账户验证。这种密码是根据事先与服务器约定好的密钥和当前的时间戳来生成的。当用户登录时,他们需要在Google Authenticator应用程序中输入由此算法生成的一次性密码,并将其发送到服务器进行验证。如果生成的一次性密码与服务器计算的密码一致,登录将成功。这种基于时间的算法确保了每个一次性密码只有在短时间内有效,提高了账户的安全性。所以实际上,你需要根据服务器提供的密钥和当前的时间戳,在Google Authenticator应用程序中生成对应的一次性密码,并输入该密码进行验证。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [谷歌验证器 Google Authenticator工作原理](https://blog.csdn.net/weixin_39732991/article/details/110784762)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [谷歌Google authenticator 整合到JAVA项目](https://blog.csdn.net/baidu_38990811/article/details/106002098)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值