eTower为每一个API客户提供一个API令牌和对应的密钥。密钥只用作MAC SHA-1签名,密钥不会在请求中进行传输。每一个请求必须包含身份认证信息以证实发送方的身份和权限。
测试环境Token和Key:
Token: test5AdbzO5OEeOpvgAVXUFE0A
Key: 79db9e5OEeOpvgAVXUFWSD
l 第一步:获取Token和Key,请联系集成商获取相应生产环境账号后在Token模块获取令牌和密钥:
测试环境地址:http://qa.etowertech.com
生产环境地址:http://cn.etowertech.com
l 第二步:添加请求报文的Headers:
样例:
Host: qa.etowertech.com
X-WallTech-Date: Thu, 06 Aug 2020 06:01:26 GMT
Authorization: WallTech testLvs2jdug2qIoRsJyuxs:2THPh5_j4OTYUGdinstTC4nYqDE=
Content-Type: application/json
Accept: application/json
生成方式:
建议参考附件压缩文件【API Signature Demo.rar】:
.netsample.cs
c#_demo.cs
java_project_demo.zip
java_demo.java
js_demo.js
php_demo.txt
python_demo.py
X-WallTech-Date:请求发送时间,时间格式为RFC1123 Format
格式:EEE, DD MM YYYY HH:MM:SS ZZZ
样例:Thu, 04 Nov 2021 03:39:28 GMT
注意:格林威治时间(GMT),是北京时间(GMT+8)减去8小时。
当服务器接收时间与发送时间相差15分钟以上,服务端拒绝请求。
Authorization:签名认证
格式:WallTech <Token>:<Base64 Encoded HMAC SHA-1 Hash>
<Token>:API令牌Token
<Base64 Encoded HMAC SHA-1 Hash> Java代码描述:
通过将API令牌Key,如Key=79db9e5OEeOpvgAVXUFWSD,使用SecretKeySpec类对Key进行HmacSHA1方式的加密,再初始化一个算法为HmacSHA1的Mac对象,然后使用key初始化这个Mac对象。最后将Mac对象处理为Byte,然后对其进行Base64转换操作。
java代码:
样例:WallTech testLvs2jdug2qIoRsJyuxs:2THPh5_j4OTYUGdinstTC4nYqDE=
Content-Type:application/json
Accept:application/json