Server API接口

Server API是供客户服务器调用的。所有请求都是POST方式,且请求参数都是以Json格式放到body里面,不是Query参数,直接拼接到url上无效。所有接口的调用都必须经过签名。所有的响应数据都是JSON格式。

我们提供有Java版本的SDK,建议使用Java语言的客户使用这个SDK,其它语言可以按照本文档对接。

1. 签名规则

以下参数需要放在Http Request Header中,请注意参数名是小写

参数 参数说明
nonce 随机数
timestamp 当前的时间戳,单位是毫秒。为了防止重放攻击,时间戳与野火IM服务器时间戳差2个小时的请求会被拒绝
sign 签名

签名的计算方法: sign = sha1(nonce + "|" + SECRET_KEY + "|" + timestamp)。其中SECRET_KEY定义在wildfirechat.conf中。为了安全一定要修改默认的SECRET_KEY。

2. Content-Type

"Content-Type": "application/json; charset=utf-8"

3. 响应

所有响应都是如下这个格式。成功时code为0,result为请求返回对于的数据;失败时code为错误码,msg为失败提示。

{
  "code":0,
  "msg":"success",
  "result":{
    "userId":"a",
    "imToken":"hN0AF2XX6+pOWqMS7iQiZnCFfGA53r1r"
  }
}

4. 测试

服务器配置中有个参数,可以关掉时间检查,能够方便大家进行调试

#服务器API接口参数是否检查时间。当设置为false时,所有的请求会检查时间的有效性;当设置为true时,可以在http.admin.secret_key保持不变的情况下,使用固定的服务API签名
##nonce = "76616", timestamp = "1558350862502", sign = "b98f9b0717f59febccf1440067a7f50d9b31bdde"
http.admin.no_check_time false

在secret没有变,且关掉时间检查开关的情况下,可以直接使用上述的签名进行测试。在正式上线时 一定要修改secret和打开时间检查,否则就相当于家里的大门开着,很容易被黑客攻击。

2018 © wildfirechat.net 京ICP备18060403号-1 all right reserved,powered by Gitbook该文件修订时间: 2022-08-29 09:42:41

results matching ""

    No results matching ""