Files
weapp-session-client/protocol.md
2016-09-27 15:46:10 +08:00

1.3 KiB
Raw Blame History

SDK 开发协议

1、首次发起请求时携带请求头其中X-WX-Code是调用wx.login接口时获取的code值,X-WX-RawDataX-WX-Signature分别是调用wx.getUserInfo接口时获取的rawDatasignature

header: {
    'X-WX-Code': 'code',
    'X-WX-RawData': 'rawData',
    'X-WX-Signature': 'signature',
}

2、后续请求只需携带首次请求时保存的code作为请求。

header: {
    'X-WX-Code': 'code',
}

3、异常处理

异常错误均以json格式返回数据,数据格式如下:

{
    'F2C224D4-2BCE-4C64-AF9F-A6D872000D1A': 1,
    'reason'?: 'xxx',
    'error': {
        'name': 'xxx',
        'message': 'xxx',
        'detail'?: 'xxx',
    },
}

其中F2C224D4-2BCE-4C64-AF9F-A6D872000D1A是约定的唯一标识 IDreason标记异常的原因,error包含错误的详细信息。

目前定义的reason有:

  • ERR_SESSION_EXPIREDsession中未找到code对应的wxUserInfo,这里需要生成新的codesignature更新session(非首次请求触发有可能触发该异常)
  • ERR_SESSION_KEY_EXCHANGE_FAILED code换取session_key失败(首次请求有可能触发该异常)
  • ERR_UNTRUSTED_RAW_DATA 不可信的rawData,有可能是伪造的rawDatasignature(首次请求有可能触发该异常)