签名规则
淘来云与开发者之间进行接口交互请求,都会包含经MD5加密后的签名参数,以确保请求安全。
签名原理
淘来云签名原理如下:
将请求参数和corp_secret拼接,按照参数名(Key)进行降序排列,将排序后M数组的值(value)拼装成字符串进行MD5签名。
以免登接口举例说明:
比如签名前的免登接口为:
https://open.taolai.com/api/v1/corp/autologin?corp_key=testcorpkey&app_id=10001&ts=1520559858580&points=125&uid=1001
获取请求链接中所有请求参数 :
{ corp_key=testcorpkey, app_id=10001, ts=1520559858580, points=125, uid=1000}
- 假设corp_secret为testcorpsecret,将其加入参数列表:
{ corp_key=testcorpkey, app_id=10001, uid=1000 , points=125 , ts=1520559858580, corp_secret=testcorpsecret }
- 按照参数名(Key)降序排序:
{ uid=1000,ts=1520559858580, points=125,corp_secret=testcorpsecret,corp_key=testcorpkey, app_id=10001 }
根据规则,把排序后参数列表的参数值(Value)拼装成签名源串如下:
str=10001520559858580125testcorpsecrettestcorpkey10001
把上面拼装成的参数源串加密后获得的签名如下:
sign=MD5(str)=f54d0ea4d72f848edd495d94a18f7964
- 得到签名url:
https://open.taolai.com/api/v1/corp/autologin?corp_key=testcorpkey&app_id=10001&ts=1520559858580&points=125&uid=1001&sign=f54d0ea4d72f848edd495d94a18f7964
注意:
- 签名验证时,必须遍历request请求中的所有参数进行签名验证;
签名验证工具
为方便开发同学理解签名规则,可以使用下面的淘来云签名工具页面进行验证签名。地址如下:https://www.taolai.com/api/devtools