HTTPS认证
根据客户提供的key作为帐号,secret key作为密码,使用 HTTP Basic
Auth,就像这样:
$ curl
https://www.example.com/wc-api/v1/orders -u consumer_key:consumer_secret
如果你手工设置认证头部,必须先base64_encode一下:
$authorization = base64_encode( $consumer_key . ‘:‘ . $consumer_secret );
HTTP认证
HTTP Basic
Auth不能使用纯HTTP作为键,因为它很可能会丢失,该API采用了 OAuth 1.0a “one-legged”
authentication来避免机械隔膜计量泵这样的情况,这样,HTTP进行认证时,会产生包含了请求的一个签名,API收到请求后,会产生另外一个签名,并与请求的签名进行对比,如果两个签名相同,认证通过。如下图所示(下图截取自http://oauthbible.com/#oauth-10a-one-legged):
OAuth
1.0a “one-legged” authentication
OAuth 1.0a “one-legged”
authentication
这个产生签名的过程并不难,但是要严格遵守文档说明(麻烦?费时?),所以,最好的方法是采用现成的库!
相关文档:
The OAuth 1.0 Protocol RFC
5849
Parameters/参数
这个API的许多参数接受查询字符串参数,例如:.../orders?status=completed,也就是说,许多重要的参数只是机械隔膜计量泵过滤器参数,用于查询时间段(某时间段内的订单等)、关键字(用于搜索)、分页。
更多信息:
REST API
documentation
API索引
索引商店的公开信息是不需要认证的,这句话有点儿低级,但是值得说下。重要的数据是需要认证的,简单的示例.
示例库文件
WooCommerce
REST
API
https://github.com/kloon/WooCommerce-REST-API-Client-Library/issues/4
---------------------------------------------------------
客户端用例
<?php
/*
客户端使用示例
*/
error_reporting(
E_ALL ); // 调试使用
ini_set( ‘display_errors‘,
‘On‘ ); // 调试使用
require_once
"../class-wc-api-client.php"; // 自定义库文件
$consumer_key =
‘ck_95ac118cf3d745ac3171d8e08c86846d‘; // Consumer Key
$consumer_secret =
‘cs_184233c882dbaf423ace8020bd373d02‘; // Consumer Secret
$store_url = ‘http://hao123.com/‘; //
店铺首页链接 认证http://www.zol.com.cn/
$wc_api = new WC_API_Client( $consumer_key, $consumer_secret, $store_url
);
相关文章
- 01-04【PC工具】生产力工具集 uTools!一个有N多日常生活学习办公小工具的软件
- 01-04QT图像质量双盲测试小软件的编写学习(2)
- 01-04k8s的认证授权
- 01-04Spring security OAuth2.0认证授权学习第二天(基础概念-RBAC)
- 01-04Shiro的认证授权
- 01-04jwt、oauth2和oidc等认证授权技术的理解
- 01-04springboot中使用Spring Security 之认证授权注解的使用(三)
- 01-04谷歌浏览器F12学习之Element(1),一个软件测试菜鸟的学习之路
- 01-04软件安全概念:认证 & 授权
- 01-04浅析学习关于《现代软件工程——构建之法》第一章的总结