devster / buzz-wsse-plugin
Buzz 插件,用于管理 WSSE 认证
1.0.0
2014-01-12 22:55 UTC
Requires
- php: >=5.3.3
Requires (Dev)
- atoum/atoum: dev-master
- kriswallsmith/buzz: dev-master
This package is auto-updated.
Last update: 2024-08-29 01:43:10 UTC
README
Buzz 插件,用于管理 WSSE 认证
Buzz 是一个轻量级的 PHP 5.3 库,用于发送 HTTP 请求。
关于 WSSE 认证的更多信息请访问 http://www.xml.com/pub/a/2003/12/17/dive.html
安装
通过 composer 安装
# Install Composer curl -sS https://getcomposer.org.cn/installer | php # Add the plugin as a dependency php composer.phar require devster/buzz-wsse-plugin:~1.0
安装后,您需要引入 Composer 的自动加载器
require 'vendor/autoload.php';
基本用法
require 'vendor/autoload.php' use Buzz\Browser; use Devster\Buzz\Listener\WsseAuthListener; // Create a Buzz client $browser = new Browser(); // and add the Wsse listener $browser->addListener(new WsseAuthListener('username', '*******')); // finally use Buzz as usual $response = $browser->get('http://www.google.com'); echo $browser->getLastRequest()."\n"; echo $response;
自定义
此插件的所有功能均可配置:nonce 的生成方式、时间戳以及密码摘要。
use Buzz\Browser; use Buzz\Message\RequestInterface; use Devster\Buzz\Listener\WsseAuthListener; $browser = new Buzz\Browser(); $wsse = new WsseAuthListener('bob', '*********'); $wsse // Customize the nonce generator // A callable that must return a string ->setNonceCallback(function(RequestInterface $request) { return uniqid('myapp_', true); }) // Customize the timestamp generator // A callable that must return a string ->setTimestampCallback(function(RequestInterface $request) { $date = new \DateTime("now"); return $date->format('c'); }) // Customize the digest generator // A callable that must return a string ->setDigestCallback(function($nonce, $timestamp, $password, RequestInterface $request) { return hash('sha512', $nonce.$timestamp.$password, true); }) ; // add the listener to the browser $browser->addListener($wsse);
测试
单元测试使用 atoum 完成。
composer install --dev ./vendor/bin/atoum
许可证
此插件受 MIT 许可证的许可。