3.请求鉴权

合作方账号

  • 此处给出的账号,key为事例,不可实际用于访问
  • 合作方账号: partnerId=161105235
  • 合作方加密:md5Key=FKu2killP81CJustsoso

请求鉴权

  • 为了确保只有通过授权的合作伙伴来访问接口,特作如下安全层面的约定。
    以或作伙伴访问书籍详情接口为例:
    URL :http://openapi.lrts.me/book/getDetail.action?k1=v1&k2=v2&k3=v3&token=XXX&partnerId=170308105
  • 值说明
    openapi.lrts.me为请求域名 /book/getDetail.action 为接口地址
    k1、k2、k3 为具体业务请求的参数名称 v1、v2、v3 为具体业务对应参数的参数值
    token 则为本次请求的鉴权标识 partnerId 是合作伙伴标识参数名称
    在调用本文档描述的任何接口的时候,懒人听书服务端都会把通过GET或者POST请求提交的任何参数,
    服务端都会进行校验识别,服务端不区分参数是POST来的还是GET来的。

token生成规则

  • 合作伙伴在和懒人听书商务达成合作协议之后,懒人都会为合作伙伴分配一个合作伙伴ID
    (比如partnerId=161105235)和一个加密的秘钥md5Key(比如:md5Key= FKu2killP81CJustsoso),
    partnerId和加密秘钥是成对出现,配对才有效。
    注意:partnerId是不参与md5加密的. 下面以如下URL为例来描述token生成规则:
    http://open.lrts.me/book/getDetail.action?size=200&referId=0&opType=H&userId=455&q=903&imei=XXX&partnerId=161105235
  • 1、对参数的key按照字母序排序(字符ASCII码升序排列),排序后的URL如下:
      /book/getDetail.action?imei=XXX&opType=H&q=903&referId=0&size=200&userId=455<注意http://open.lrts.me 不参与加密>
  • 2、用懒人事先分配好的md5Key来用进行md5运算(32位小写),运算的的字符串为:排序后的URL+md5Key
    /book/getDetail.action?imei=XXX&opType=H&q=903&referId=0&size=200&userId=455FKu2killP81CJustsoso
    加密后的结果为:8b221fb5b16c699b24c44b3ae7bb8c11
  • 3、采用如下方式访问懒人听书服务端获取数据:
    http://open.lrts.me/book/getDetail.action?partnerId=161105235&token=8b221fb5b16c699b24c44b3ae7bb8c11 & imei=XXX&opType=H&q=903&referId=0&size=200&userId=455
  • 4、参数key排序补充说明 按照key的字符ASCII码升序排列参考如下实例:
    排序前各字符串顺序: "AAA" "aaaaa" "xMy" "xmy" "xM1" "a1111" "aAAAA" "_aaaa" "-aaaa" "A11" "opTYPE" "flowTYPE" "zhangzk" "zhangjy" "dinglp" "zhangZK" "dinglping"
    排序后的顺序: [-aaaa, A11, AAA, _aaaa, a1111, aAAAA, aaaaa, dinglp, dinglping, flowTYPE, opTYPE, xM1, xMy, xmy, zhangZK, zhangjy, zhangzk]