二、关键字 1、appkey 开放平台应用唯一标识。 2、appsecret 开放平台签名秘钥。 3、signtime 签名时间,用于校验签名是否过期,签名有效期为50分钟,格式为【yyyy-MM-dd hh:mm:ss】。 4、Request-Sign 签名,HTTP请求头。 三、签名流程1、请求参数中增加公共参数:“应用唯一标识(appkey)”、“签名时间(signtime)”,签名时间取当前时间,时间格式为年月日时分秒,例如:2023-02-09 11:00:00。请求参数为JSON报文时,该参数放置在第一层级。 2、组装待签名报文,根据报文格式的不同,签名方式会有所不同: 1)POST请求JSON报文(建议使用该请求方式) 使用请求体body报文作为待签名报文。 2)GET请求 按参数名称排序请求参数(排序规则见第四条),使用“key=value”组装参数,'&'符号分割,以此作为待签名报文,例如:appkey=APPKEY202205091541249ZPMZYW3UR&data=123&signtime=2023-02-09 11:00:00,key/value值为空或空字符串的需要排除。 3)其他报文格式暂不支持。 3、待签名报文拼接appsecret盐值,以“&appsecret=xx”格式拼接在待签名报文后,例如:{"appkey":"APPKEY202205091541249ZPMZYW3UR","data":"123","signtime":"2023-02-09 11:00:00"}&appsecret=SECRET202207011049084589L4U4KJ (POST请求) 或appkey=APPKEY202205091541249ZPMZYW3UR&data=123&signtime=2023-02-09 11:00:00&appsecret=SECRET202207011049084589L4U4KJ (GET请求)。 4、对待签名报文做MD5加密,转换为大写,以上面的报文为例,签名结果为:BB5D34814BD242440CF98981A307BE80,将签名放入HTTP请求头中,名称为Request-Sign。
|