jocic/google-authenticator

适用于Google Authenticator App的完整且易于实现的二次验证解决方案。

1.0.0 2019-01-07 02:57 UTC

README

Build Status Coverage Status Codacy Badge Latest Stable Version License

Google Authenticator 是一个用于通过利用Google Authenticator App实现多因素认证的迷你PHP库。它被编写来简化通常复杂的实现过程。

Project Image

以下规范被参考

  • RFC 4226 - 基于HMAC的一次性密码算法
  • RFC 6238 - 基于时间的一次性密码算法
  • RFC 6287 - OCRA:OATH挑战-响应算法

Buy Me Coffee

项目歌曲: Iron Maiden - The Trooper

版本控制方案

我使用一个三位数的 语义版本控制 标识符,例如 1.0.2。这些数字具有以下含义

  • 第一个数字(1)指定主版本号。
  • 第二个数字(0)指定次版本号。
  • 第三个数字(2)指定补丁版本号。

完整文档可以通过上面的链接找到。

示例

以下示例应该足够您开始。我尽量使它们尽可能简单,以便每个人,甚至初级开发人员,都可以成功使用它们来实现双因素认证。

  1. 创建密钥
  2. 密钥创建方法
  3. 设置现有密钥
  4. 创建账户
  5. 账户管理
  6. 二维码
  7. 代码验证

有关更多示例,请参阅官方项目的 wiki

需求

您只需在系统上安装PHP >=7.0即可在应用程序中使用 Google Authenticator。但是,为了运行单元测试,您需要安装以下扩展

安装

您可以将 Google Authenticator 库添加到项目的两种方式

  • 从 "source" 目录复制文件到您的项目并引入 "Autoload.php" 脚本(这包括为项目的依赖项执行相同的操作,例如编码器)
  • 通过Composer,通过执行以下命令
composer require jocic/google-authenticator 1.0.0

测试

以下单元测试可用

  • 基本功能 - 测试库的基本功能,例如自动加载器、Base 32编码器等。
  • 二维码生成器 - 测试库中可用的二维码生成器。
  • 元素 - 测试库的核心元素,例如密钥、账户等。

您可以从终端轻松执行它们,如下例所示。

bash ./scripts/phpunit.sh --testsuite essentials
bash ./scripts/phpunit.sh --testsuite qr-generators
bash ./scripts/phpunit.sh --testsuite elements

请在尝试上述上帝般的工作之前安装必要的依赖项。它们可能很重要。

bash ./scripts/composer.sh install

贡献

如果您计划为项目做出贡献,请审查以下文档

集成

我的时薪相当合理,所以如果您需要帮助将 Google Authenticator 集成到现有的项目中,请通过以下电子邮件与我联系。

集成咨询: office@djordjejocic.com

支持

如有任何疑问、想法或关注,请随时联系我。

我的Twitter账号是:@jocic_91

我的支持邮箱地址是:support@djordjejocic.com

版权 & 许可证

版权(C)2018 Đorđe Jocić

遵循MIT许可证。