0.10接口秘钥加强签名
作用
开发密钥用于加强开发商对账户的控制,用来验证开发商软件与平台账户是否同属于一个开发商。如果不是在自己平台下面建立的账户将无法使用。
产品开发时,直接将gpid和密钥固定写入代码中,以达到产品与开发商账号的绑定。
开发商密钥可以生成多个,可以一个产品对应一个gpid,以方便灵活的控制。并且gpid可以在后台启用/禁用,方便客户端产品的升级管理。
签名加强方法
1.请求参数中增加一个gpid
2.签名时,使用原来的商户apikey+开发密钥进行签名
增加开发密钥签名后的校验规则
1.请求参数中带gpid,则进行开发密钥签名验证规则。
2.首先验证gpid有效性,不存在、禁用则直接返回错误。
3.检查接口账号对应门店与开发密钥gpid的对应关系,即接口软件=》平台账号应该是同一开发商的,否则报错。
步骤和接口方式
服务商后台——商家账户管理——开发密钥
获得对应的gpid和秘钥(名称用来备注开发商版本软件)
Api接口调整方案
举例:“gpid=XXXXXX&id=233187&msid=113&nonce=112&signtype=sha1×tamp=20150807123101,5d048e69ee55a71899392f5c2c8b24f1db07b7c5,开发商秘钥”msg_sign=sha1(验证串)
DLL接口调整方案
1.初始化密钥调整
//初始化门店编号,和 ApiKey,门店编号和ApiKey参见0.1中的说明。
int _stdcall JuInit(char* 门店编号, char* ApiKey)
调整:初始化函数中,参数ApiKey=商户apikey+","+开发商密钥,如,商户密钥为aaa,开发商密钥为bbb,则ApiKey="aaa,bbb"
2.接口调用函数调整
//执行Api调用
Char* _stdcall JuDoApi(char* api名称, char* Get参数, char* Post参数)
调整:Get参数中增加一个gpid=gp168xxxxxx,其它不变。