接口标准

用户相关数据构成

graph LR user((用户))==1..1==>login{登录信息} user==1..1==> passport{用户许可证} login==1..n==>username(登录名) login==1..1==>password(登录密码) passport==1..1==>openapi(接入用户编号openid) openapi==1..n==>app{接入应用信息} app==1..1==>appid(接入应用编号appid) app==1..1==>appkey(应用密钥appkey) app==1..3==>token(临时许可token)

接入许可信息

信息项

字段名 类型 描述
openid String 接入用户编号,获取方式:接入申请通过后,由平台给予发放,用于标注唯一用户
appid String 接入应用编号,获取方式:单个用户可拥有多个appId,用于标注唯一应用,由平台发放
appkey String 应用密钥,获取方式:与appId对应的,用于数字签名使用,由平台同appId一同发放
token String 临时许可:获取方式:用户应用登录开发平台后,由平台进行发放,有效时间20min
tokenurl String 用户获取临时许可url:获取方式:由接入用户提供,此url为接入用户提供服务,平台收到临时许可获取请求后,将通过回调此url方式,将token信息返回接入用户,接入用户收到token后,自行进行保存

请求调用方式

api模式

调用方式

请求参数

参数名称 是否必须 类型 描述
openid 必须 String 由平台发放给用户的接入用户编号
appid 必须 String 由平台发放给用户的应用编号,与openid有强关联性
token 必须 String 平台发放的临时许可,具体见安全设计
sig 必须 String 请求串的签名,以appkey作为密钥,具体见安全设计
output String 返回格式类型,支持json和xml(必须小写),默认为json
userip String 用户访问的ip地址

应答参数

参数名称 是否必须 类型 描述
resultcode 必须 String 应答码
resultdesc 必须 String 应答消息

传输协议

  • 数据签名—Step1.构建原串
    源串是由3部分内容用“&”拼接起来的: HTTP请求方式 & urlencode(uri) & urlencode(a=x&b=y&...)
    源串构造步骤如下:
    第1步:将请求的URI路径进行URL编码(URI不含host,URI示例:/group/acct/get_info)。
    第2步:将除“sig”外的所有参数按key进行字典升序排列。
      注:除非OpenAPI文档中特别标注了某参数不参与签名,否则除sig外的所有参数都要参与签名。
    第3步:将第2步中排序后的参数(key=value)用&拼接起来,并进行URL编码。 
    第4步:将HTTP请求方式(GET或者POST)以及第1步和第3步中的字符串用&拼接起来。
    
  • 数据签名—Step2.构造密钥
得到密钥的方式:在应用的appkey末尾加上一个字节的“&”,即appkey&,
例如:228bf094169a40a3bd188ba37ebe8723&
  • 数据签名—Step3.生成签名值
1. 使用HMAC-SHA1加密算法,使用Step2中得到的密钥对Step1中得到的源串加密。
2. 然后将加密后的字符串经过Base64编码。
3. 得到的签名值结果如下:FdJkiDYwMj5Aj1UG2RUPc83iokk=

临时许可证

第一步:接入用户应用请求平台获取临时许可服务,平台临时许可服务URL= http://[域名]/token,
    请求字段只包含公共请求信息,不包含token,应答字段只包含公共应答信息。
第二步:平台访问接入用户所提供tokenurl,将token返回用户,格式为K/V形式,
    例如:http://tokenurl?token=fwf2einf2on2foenf
注意:token有效周期为20min,平台支持每个接入用户应用同时拥有3个有效token,
    便于token失效前进行重新获取。

SDK模式

H5模式

文件模式

results matching ""

    No results matching ""