duosecurity/duo_universal_php

此包的最新版本(1.0.2)没有可用的许可证信息。

Duo Universal SDK 的 PHP 实现。

1.0.2 2023-01-13 18:47 UTC

This package is not auto-updated.

Last update: 2024-09-21 03:00:45 UTC


README

Build Status

此 SDK 允许网页开发者快速将 Duo 的互动式、自助式双因素认证添加到任何 PHP 网页登录表单中。

包含内容

  • src - 与 Duo Universal 提示交互的 PHP Duo SDK
  • example - 集成 Duo 的 PHP 应用示例
  • tests - 测试用例

入门指南

此库需要 PHP 7.4 或更高版本

要将 SDK 安装到现有的开发环境中,请从 Packagist 安装它

composer require duosecurity/duo_universal_php

安装完成后,请参阅我们提供的开发者文档 https://duo.com/docs/duoweb,并在本存储库中的 sample/index.php 查找将 Duo 2FA 集成到您的网络应用程序中的指导。

TLS 1.2 和 1.3 支持

Duo_universal_php 使用 PHP 的 cURL 扩展和 OpenSSL 进行 TLS 操作。TLS 支持将取决于多个库的版本

TLS 1.2 支持需要 PHP 5.5 或更高版本,curl 7.34.0 或更高版本,以及 OpenSSL 1.0.1 或更高版本。

TLS 1.3 支持需要 PHP 7.3 或更高版本,curl 7.61.0 或更高版本,以及 OpenSSL 1.1.1 或更高版本。

贡献

要贡献,请在此存储库上进行分支,并在更改准备好时提交拉取请求。

从源安装 SDK

composer install

运行交互式模式

php -a -d auto_prepend_file=vendor/autoload.php

Interactive shell

php > $client = new Duo\DuoUniversal\Client("IntegrationKey", "SecretKey", "api-XXXXXXXX.duosecurity.com", "https://example.com");
php > $state = $client->generateState();
php > $username = "example";
string(700) "https://api-XXXXXXXX.duosecurity.com/oauth/v1/authorize?response_type=code&client_id=DIXXXXXXXXXXXXXXXXXX&scope=openid&redirect_uri=https%3A%2F%2Fexample.com&request=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzY29wZSI6Im9wZW5pZCIsInJlZGlyZWN0X3VyaSI6Imh0dHBzOlwvXC9leGFtcGxlLmNvbSIsImNsaWVudF9pZCI6IkRJWFhYWFhYWFhYWFhYWFhYWFhYIiwiaXNzIjoiRElYWFhYWFhYWFhYWFhYWFhYWFgiLCJhdWQiOiJodHRwczpcL1wvYXBpLVhYWFhYWFhYLmR1b3NlY3VyaXR5LmNvbSIsImV4cCI6MTYxMjI5OTA3Nywic3RhdGUiOiJtYjlWalFGeDNzMEswRVpidVBJMmlCVWE4N29qbWFMTUl2VksiLCJyZXNwb25zZV90eXBlIjoiY29kZSIsImR1b191bmFtZSI6ImV4YW1wbGUiLCJ1c2VfZHVvX2NvZGVfYXR0cmlidXRlIjp0cnVlfQ.8Pr02LJd0pi6rsiAf5mvzGbf51piHysHyP5PlmnMiwNIkQ0HsYED0wECilXxsIyISz--oU528Cy7Sfebj0copg"

测试

./vendor/bin/phpunit --process-isolation tests

代码风格检查

要运行代码风格检查器

./vendor/bin/phpcs --standard=.duo_linting.xml -n src/* tests