授权认证说明
为了确保客户与易企通API服务器之间的安全通信,防止Secret Key盗用,数据篡改等恶意攻击,易企通API服务器使用了授权机制(即sign参数)来认证应用。授权是由请求参数和应用的私钥Secret Key经过MD5加密后生成的字符串。在调用易企通API之前,要计算出授权,并追加到请求参数中。
授权算法 |
• 假设某个易企通API需要3个参数,分别是"k1"、"k2"、"k3",它们的值分别是"v1"、"v2"、"v3",调用易企通API的应用的私钥Secret Key为"secret_key",计算方法如下所示: ◦ 将请求参数格式化为"key=value"格式,即"k1=v1"、"k2=v2"、"k3=v3"; • 注意: ◦ 这些参数中不包含sign(签名)参数,因为sign参数的值此时没有计算出来 |
示例说明 |
• 客户想使用路由绑定接口 pci.bind.json 时,需要提交如下参数到易企通服务器: { "pid": "62a495239be91d5f041930d6fceba9f1", "sn" : "10000001", "tel" : "4006001001" "service" : "pci.bind.json" "method": "get", "v": "2.0", } |
• 经过第一步格式化,参数格式如下所示: [ "pid=62a495239be91d5f041930d6fceba9f1", "sn=10000001", "tel=4006001001", "service=pci.bind.json", "method=get", "v=2.0" ] |
• 经过第二步排序并拼接成一个字符串,格式如下所示: "method=getpid=62a495239be91d5f041930d6fceba9f1service=pci.bind.jsonsn=10000001 tel=4006001001v=2.0" |
• 经过第三步追加应用Secret Key(假设Secret Key值为6a04489dc348dc7415b9c9cc2392af17)后,整个字符串格式如下所示: "method=getpid=62a495239be91d5f041930d6fceba9f1service=pci.bind.jsonsn=10000001 \ tel=4006001001v=2.06a04489dc348dc7415b9c9cc2392af17" |
• 经过第四步计算上述字符串的MD5值:f78cb7c008d54ea805d64b99f59c6a82,此值即为签名的值.接下来便可以请求易企通API服务器,进行接口调用,下面是以一个 HTTP GET 请求来形象的表示此次请求: http://api.eqitong.com/api.json?pid=62a495239be91d5f041930d6fceba9f1&sn=10000001 \ &tel=4006001001&service=pci.bind.json&method=get&v=2.0&sign=f78cb7c008d54ea805d64b99f59c6a82 |