# 鉴权说明

# 验签说明

鉴权网关需要对商户进行验签操作,验签失败即调用失败。验签明文的组成一部分为你的请求包体Json串,包体必须为json格式,不要添加任何空格和换行,以防验签失败。示例请求体:

{"mobile":"13666643085","openId":"68805702089"}

# 签名步骤

  1. 请求体增加时间戳 (5分钟内有效)
{"timestamp":1635490727085,"mobile":"13666643085","openId":"68805702089"}
  1. 拼接当前时间戳,当前日期按yyyyMMddHHmmss格式化后的字符串
{"timestamp":1635490727085,"mobile":"13666643085","openId":"68805702089"}20211029150244
  1. 增加AppId对应的密钥,可在享道出行管理中心 (opens new window)中查看
{"timestamp":1635490727085,"mobile":"13666643085","openId":"68805702089"}20211029150244密钥
  1. 拼接明文,对明文做sha1生成签名,放入头部的X-Sign用以验签,详情见curl描述的请求示例
  2. 签名工具类: SHA1TranferUtils.zip

# HTTPS头部

参数名 含义 说明 必选
X-Sign 签名内容 调用方算出的动态签名
X-SignAlgorithm 签名方式 1-sha1 ,2-rsa 固定值目前传1
X-Timestamp 请求时间戳 格式为yyyyMMddHHmmss仅接受5分钟内的时间
X-MerchantId 商户身份编号 App id及密钥会以邮件形式通知
Content-Type 值:application/json

# 响应参数

参数名 含义 说明 必选
errCode 响应编码 错误编码定义见附录5
errMsg 响应信息 具体的错误信息

# 请求示例

请求

curl --location --request POST '接口地址' \
--header 'X-Sign: aba9889b5d576a22aa1709a582bc95ccf9f902cf' \
--header 'X-SignAlgorithm: 1' \
--header 'X-Timestamp: 20201020161100' \
--header 'X-MerchantId: 商户App id' \
--header 'Content-Type: application/json' \
--data-raw '{}'

响应 - 失败

{
    "errCode": 10002,
    "errMsg": "signature_error"
}

返回上述响应,需检查请求

  • 时间戳是否在最近5分钟内
  • 签名为:请求体Json+时间戳+秘钥,使用签名类生成,同时请求体不能包含空格等特殊字符
  • IP白名单
  • 对应接口地址的访问权限

响应 - 失败

{
    "errCode": 10004,
    "errMsg": "parameter_error"
}

返回上述响应,需检查接口参数是否包含所有必传参数

响应 - 成功

{
    "errCode": 10000,
    "errMsg": "successful",
    "content": {}
}