researchpanelasia / sopx-auth-v1_1
SOP v1.1 认证
1.0.0
2016-03-07 11:56 UTC
Requires
- php: >=5.5.0
- guzzlehttp/guzzle: ^6.1
Requires (Dev)
- phpunit/phpunit: 4.3.*
This package is not auto-updated.
Last update: 2024-09-14 16:36:34 UTC
README
名称
SOPx_Auth_V1_1 - SOP v1.1 认证模块
概述
$auth = new \SOPx\Auth\V1_1\Client('<APP_ID>', '<APP_SECRET>'); $request = $auth->createRequest( 'GET', 'https://<API_HOST>/path/to/endpoint', array('app_id' => '<APP_ID>', 'app_mid' => '<APP_MID>', ... ) ); //=> isa GuzzleHttp\Psr7\Request object
OR
$sig = \SOPx\Auth\V1_1\Util::createSignature( array( 'app_id' => '<APP_ID>', 'app_mid' => '<APP_MID>', 'time' => $time, ... ), '<APP_SECRET>' ); //=> HMAC SHA256 hash signature
描述
此模块允许您生成 SOP v1.1 签名,向 SOP v1.1 API 发送 HTTP 请求。
如何使用
向 SOP API 端点发送有效请求
$auth = new \SOPx\Auth\V1_1\Client('<APP_ID>', '<APP_SECRET>'); $request = $auth->createRequest( 'GET', 'https://<API_HOST>/path/to/endpoint', array( 'param1' => 'foo', 'param2' => 'bar', ... ) ); // Then use Guzzle HTTP client to send request
创建有效的 URL(例如,用于 JSONP 请求)
$auth = new \SOPx\Auth\V1_1\Client('<APP_ID>', '<APP_SECRET>'); $request = $auth->createRequest( 'GET', 'https://<API_HOST>/path/to/jsonp/endpoint', array( 'param1' => 'foo', 'param2' => 'bar', ... ) ); // Then maybe in your HTML template: <script src="<?php echo $request->getUri(); ?>"></script>
发送各种请求类型
GET
$request = $auth->createRequest('GET', (string) $url, (array) $params)
POST
对于 application/x-www-form-urlencoded
类型
$request = $auth->createRequest('POST', (string) $url, (array) $params)
对于 application/json
类型
$request = $auth->createRequest('POSTJSON', (string) $url, (array) $params)
DELETE
$request = $auth->createRequest('DELETE', (string) $url, (array) $params)
PUT
对于 application/x-www-form-urlencoded
类型
$request = $auth->createRequest('PUT', (string) $url, (array) $params)
对于 application/json
类型
$request = $auth->createRequest('PUTJSON', (string) $url, (array) $params)
验证请求签名以确认其有效性
$auth = new \SOPx\Auth\V1_1\Client('<APP_ID>', '<APP_SECRET>'); $sig = $params['sig']; unset($params['sig']); if ($auth->verifySignature($sig, $params)) { // Request is valid } else { // Request is invalid }
SOP v1.1 认证中定义的 请求类型。