跳至主要内容

簽名說明

由於AZ需要爲第三方平臺提供一些開放性的接口,所以需要接口的數據安全問題,比如數據是否被篡改,數據是否已過時,數據是否可以重複提交,接口在某個時間內訪問頻率等問題。其中數據是否被篡改是最重要的。

1、先通過用戶中心申請appkey和secretkey,針對不同的調用,提供不同的appkey和secretkey

2、加入timestamp(時間戳),其值應當是請求發送時刻的unix時間戳(毫秒),數據的有郊時間根據此值來計算。

3、加入signature(數據簽名),所有數據的簽名信息。

4、加入recvwindow(請求頭 validate-recvwindow,必填):請求的有效時間窗口,取值 5000 至 60000 毫秒。

服務器收到請求時,會比較 validate-timestamp 與服務器時間。如兩者差值(無論正負)不小於 validate-recvwindow,請求會以 AUTH_105 被拒絕。

你的程序到 AZ 服務器的網絡時延會有波動,因此該窗口可以自行設定。請先使用 5000,並保持系統時鐘同步(NTP);只有在因網絡時延出現 AUTH_105 時才調大該值。

5、加入algorithms (簽名方法/算法),用戶計算簽名是基於哈希的協議,推薦使用HmacSHA256。具體支持那些協議,請參見下面表格中所列出。

HmacMD5、HmacSHA1、HmacSHA224、HmacSHA256(推薦)、HmacSHA384、HmacSHA512

簽名的構建方法見簽名生成,排查問題見簽名常見錯誤。