消息推送介绍
使用超级管理员或管理员账号登录开发者平台后,按提示填写相关信息,具体如下:
URL: 开发者用来接收消息的接口 URL。开发者所填写的URL 必须以 http:// 或 https:// 开头,分别支持 80 端口和 443 端口。
- Token: 可由开发者可以任意填写,用作生成签名(该 Token 会和接口 URL 中包含的 Token 进行比对,从而验证安全性)。
- EncodingAESKey: 由开发者手动填写或随机生成,将用作消息体加解密密钥。
消息加解密方式:明文模式(默认).兼容模式和安全模式。可以选择消息数据格式:XML 格式(默认)或 JSON 格式。
验证消息的确来自百度服务器开发者提交信息后,百度服务器将发送POST请求到填写的服务器地址URL上,POST请求携带参数如下表所示:
参数 | 描述 |
---|---|
signature | 百度加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数.nonce参数。 |
timestamp | 时间戳 |
nonce | 随机数 |
echoStr | 随机字符串 |
开发者通过检验 signature 对请求进行校验(下面有校验方式)。若确认此次 POST 请求来自百度服务器,请原样返回 echoStr 参数内容,则接入生效,成为开发者成功,否则接入失败。加密/校验流程如下:
- 将token.timestamp.nonce三个参数进行字典序排序
- 将三个参数字符串拼接成一个字符串进行sha1加密