我方将为调用者分配一个appkey和一个用户名密码,appkey有效期3个月(暂定)。调用者应加密存储此appkey,并在appkey有效期结束前调用appkey变更接口,以更换新的appkey。此appkey的作用是作为对称加密的密钥,用以解密调用getToken接口返回的数据。 采用token+时间戳+签名(sign)的方式保护接口安全,token有效期为30分钟。 在调用业务接口的时候需要在http request header里加入这个几个参数: 1) token-data:xxx。token-data是通过获取getToken接口据返回thirdid。 2) token-param:xxx。token-param是北京时间的时间戳。 3) token-sign:xxx。token-sign是拼接字符串:timestamp=xxx&token=xxx的MD5加密后的字符串,之后字母全部转大写,即MD5(timestamp=xxx&token=xxx)。 Notice: 1)对称加密使用的是aes-128-ecb加密方式,输入编码是utf-8,输出编码是base64。解密的时候注意这些参数,否则将导致解密失败。 2)request header里的参数名称都是小写,中间是横杠不是下划线。 3)尤其要注意时间戳的获取,如果使用本地获取时间,如果系统更改的时间将会导致时间戳和服务端相差太大导致服务超时无法调用。建议,调用getToken接口的时候返回当前服务器时间戳或报请求超时时也会返回当前服务器时间戳,与本地时间做个时间差,调用的时候传入时间戳(包括token-param和签名里的timestamp,这个两个参数的值是一样的)通过时间差调整时间戳。或者直接使用北京时间的时间戳