REST签名认证
139 開放平臺與應(yīng)用之間以REST協(xié)議進(jìn)行通訊,為了保證通信的安全性,開放平臺加入簽名認(rèn)證機(jī)制。應(yīng)用一旦創(chuàng)建,系統(tǒng)生成唯一并且不公開的secretkey,只有應(yīng)用的擁有者和開放平臺知道。因此,當(dāng)應(yīng)用請求開放平臺時,把請求的參數(shù)以及開放平臺分配的secretkey進(jìn)行MD5 HASH生成sig,從而保證通信的安全。?
簽名生成規(guī)則
- 把所有的請求參數(shù)按照字典順序進(jìn)行排序;注意:請把參數(shù)的連接符'&'去掉;例如:c=3&a=1&b=2排序后為a=1b=2c=3;
- 把排序后的字符串后面追加開放平臺分配的secretkey;例如:secretkey=diwierwer2o45q4wer,則處理的串為:a=1b=2c=3diwierwer2o45q4wer;
- 把附加secretkey的串進(jìn)行md5運(yùn)算,把計算后的值作為sig參數(shù)發(fā)送請求給開放平臺服務(wù)器,例如:c=3&a=1&b=2&sig=3a74f18d8c2a8f25fd145fcb02dab671;
說明:計算sig時,不需要對任何參數(shù)進(jìn)行urlencode,并且都是utf-8編碼;但是,當(dāng)發(fā)送請求時需要進(jìn)行urlencode。?
應(yīng)用示例
下面以請求users.getInfo方法作為例子,詳細(xì)說明一下請求串的加密規(guī)則:
- 根據(jù)方法的參數(shù)列表,以POST方式向139 REST開放平臺服務(wù)器發(fā)送請求的詳細(xì)參數(shù)信息:
- 經(jīng)過參數(shù)排序,并且附加secretkey以后為(假設(shè)secretkey:abcdefghi323423):
- 把上面生成的排序串進(jìn)行md5加密:
- 把生成的加密串,作為sig參數(shù)以POST方式發(fā)送給開放平臺服務(wù)器:
總結(jié)
- 上一篇: WCF4.0 –- RESTful WC
- 下一篇: 宁夏葡萄酒与防沙治沙职业技术学校退学怎么