tokens / email-sms
使用tokens和PortaText SMS验证电子邮件
Requires
- php: >= 5.3.0
- portatext/php-sdk: 1.4
- psr/log: >= 1.0.0
- sendgrid/sendgrid: ^4.0
Requires (Dev)
- evert/phpdoc-md: ~0.1.1
- monolog/monolog: 1.*
- phing/phing: 2.*
- phpdocumentor/phpdocumentor: 2.*
- phpmd/phpmd: 2.*
- phpunit/phpunit: 4.*
- satooshi/php-coveralls: 0.*
- sebastian/phpcpd: *
- squizlabs/php_codesniffer: 2.5.1
This package is not auto-updated.
Last update: 2024-09-20 19:09:34 UTC
README
此项目允许您为不同目的获取双因素验证。这是一种通过向不同渠道发送两个不同的tokens来强制执行您网站安全性的方法,但它们需要在您的业务逻辑中匹配。这些渠道是电子邮件和短信。
要求
要使用此工具,您需要在短信和电子邮件提供商处有一个账户。在此包中,我们提供了两个客户端供您使用,分别是
请确保您有账户并获取您的API密钥。否则,如果您不能使用此提供商,您可以通过为每个新的客户端创建一个类来扩展此包。
代码示例
使用此包非常简单,配置正确后,您在应用程序中需要做的唯一事情就是创建TokenEmailSms的一个实例:
$tokenEmailSms = new TokenEmailSms;
然后需要设置我们收件人的变量
$tokenEmailSms->setAddress('test@test.com', '123456789');
接下来您需要做的就是将tokens发送到两个渠道
$tokenEmailSms->send();
这取决于您的业务规则,但常见的做法是获取两个生成的tokens并将它们保存在您的数据库中,以便进行您需要的操作,这是您发挥创意并验证tokens是否同时有效的地方
$tokenEmailSms->tokenSms(): $tokenEmailSms->tokenEmail():
如果您在数据库中为这两个tokens设置了id和状态,当用户输入这两个tokens时,您将进行验证,如果它们不匹配,则表示存在问题。
动机
我编写这个包是因为我需要一个额外的安全方式来验证一些粗心的用户。他们可能会丢失手机或密码电子邮件,但在特殊情况下,同一个人可能会找到这两个渠道。这并不特别安全,但它试图更接近现实。
安装
要安装此项目,需要执行以下步骤
1 - Composer更新
运行composer update以安装库。
composer.phar update
2 - 设置配置文件。
提供了一个名为token-email-sms-config-example.php
的文件。您需要创建自己的文件,并将其命名为token-email-sms-config.php
,设置您自己的凭证以使TokenEmailSms工作。该文件描述得非常详细,所以您需要做的只是更改数组'email'和'sms'中的变量。
测试
一旦安装完成并设置正确,您可以使用以下命令运行测试
vendor/bin/phing test
贡献者
- 分支它!
- 创建您的功能分支:
git checkout -b my-new-feature
- 提交您的更改:
git commit -am '添加一些功能'
- 推送到分支:
git push origin my-new-feature
- 提交拉取请求 :D
许可证
源代码在Apache 2许可证下发布。
检查LICENSE文件以获取更多信息。