francodacosta / caparica-guzzle-plugin
帮助您安全地向REST API发送请求的Guzzle插件
1.0
2014-10-04 22:08 UTC
Requires
- php: >=5.3.0
- francodacosta/caparica: ~1.0
- guzzle/guzzle: *
This package is not auto-updated.
Last update: 2024-09-24 04:05:32 UTC
README
一个Guzzle插件,用于向启用了Caparica的API发送签名请求
安装
最简单的方式是通过composer安装
composer.phar require francodacosta/caparica-guzzle-plugin
如何使用它
use Caparica\Client\BasicClient as CaparicaClient; use Caparica\Crypto\RequestSigner; use Guzzle\Service\Client; // 1) create the Caparica client with your client id and password $client = new CaparicaClient; $client->setCode('client code'); $client->setSecret('client Secret'); // 2) Instantiate a request signer $requestSigner = new RequestSigner; // 3) Set up the plugin $plugin = new CaparicaGuzzlePlugin( $client, $requestSigner, $includeRequestPathInSignature = true, $includeRequestMethodInSignature = true ); // 4) Register the plugin with guzzle $guzzle = new Client; $guzzle->addSubscriber($plugin) // now you can do your requests, they will automatically be signed
通常这种配置是在DI容器中完成的,对于symfony,您可以在services.yml文件中添加以下内容
parameters: client.code: client-id client.secret: client-secret caparica.signature.includes.path: true caparica.signature.includes.method: true services: caparica.client: class: Caparica\Client\BasicClient calls: - [setCode, [%client.code%]] - [setsecret, [%client.secret%]] caparica.request.signer: class: Caparica\Crypto\RequestSigner caparica.guzzle.plugin: class: Francodacosta\CaparicaBundle\Guzzle\Plugin\CaparicaGuzzlePlugin arguments: - @caparica.client - @caparica.request.signer - %caparica.signature.includes.path% - %caparica.signature.includes.method% caparica.guzzle: class: Guzzle\Service\Client calls: - [addSubscriber, [@caparica.guzzle.plugin]]
在您的控制器中 $caparicaGuzzle = $this->get('caparica.guzzle');
将为您提供配置了Caparica插件的Guzzle访问权限