jdcloud-api / apigateway-signer
JDCloud API gataway Signer for PHP
Installs: 16 205
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 3
Forks: 2
Open Issues: 1
Requires
- php: >=5.5
- guzzlehttp/guzzle: ^5.3.1|^6.2.1
- guzzlehttp/psr7: ^1.4.1
Requires (Dev)
- ext-dom: *
- andrewsville/php-token-reflection: ^1.4
- behat/behat: ~3.0
- doctrine/cache: ~1.4
- nette/neon: ^2.3
- phpunit/phpunit: ^4.8.35|^5.4.3
- psr/cache: ^1.0
Suggests
- ext-openssl: Allows using ssl
README
该项目实现京东云API网关签名的生成,适用于API网关产品,也可用于OpenAPI的签名生成。
环境准备
1.京东云Php SDK适用于Php 5.5及以上。
2.如果用于OpenAPI的签名,需要在京东云用户中心账户管理下的AccessKey管理页面申请accesskey和secretKey密钥对(简称AK/SK);如果用于API网关的签名,可根据情况使用云用户密钥对或者API网关签名密钥。
SDK使用方法
建议使用Composer安装京东云Php签名工具:
首先在composer.json添加
"require" : {
"php" : ">=5.5",
"jdcloud-api/apigateway-signer" : ">=0.1",
}
然后使用Composer安装
php composer.phar install
或
composer install
您还可以下载sdk源代码自行使用。
SDK使用中的任何问题,欢迎您在Github SDK使用问题反馈页面交流。
调用示例
demo中包含了简单的调用示例。
$credentials = new Credentials('ak', 'sk');
$signature = new SignatureV4('testApiGroup', 'cn-north-1');
$request = new Request('POST', 'http://xqokj9u7k483.cn-north-1.jdcloud-api.net/iampost?param=param',
[
'x-my-header' => 'test'
],
'body data'
);
$signedRequest = $signature->signRequest($request, $credentials);
$client = new Client();
$response = $client->send($signedRequest, [
'timeout' => 20,
]);
注意事项
- 调用签名工具前,需要对请求和路径参数进行urlencode
- 请求中需要传递签名工具自动添加的几个x-jdcloud-xxx的请求头