duosecurity / duo_universal_php
此包的最新版本(1.0.2)没有可用的许可证信息。
Duo Universal SDK 的 PHP 实现。
1.0.2
2023-01-13 18:47 UTC
Requires
- php: >=7.3
- ext-curl: *
- ext-json: *
- firebase/php-jwt: ^6.0
Requires (Dev)
- phpunit/phpunit: ^9.0
- squizlabs/php_codesniffer: 3.*
This package is not auto-updated.
Last update: 2024-09-21 03:00:45 UTC
README
此 SDK 允许网页开发者快速将 Duo 的互动式、自助式双因素认证添加到任何 PHP 网页登录表单中。
包含内容
src
- 与 Duo Universal 提示交互的 PHP Duo SDKexample
- 集成 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